home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_emacs.idb / usr / freeware / share / emacs / 19.34 / lisp / lmenu.elc.z / lmenu.elc
Emacs Compiled Lisp  |  1998-10-28  |  13.0 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: Emacs Compiled Lisp (other/emacsCompiledLisp).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
1% dexvert Emacs Compiled Lisp (other/emacsCompiledLisp) magic Unsupported
100% file Emacs/XEmacs v19 byte-compiled Lisp data default
99% file data default
100% TrID Emacs/XEmacs byte-compiled Lisp (generic) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 3b 45 4c 43 13 00 00 00 | 0a 3b 3b 3b 20 63 6f 6d |;ELC....|.;;; com|
|00000010| 70 69 6c 65 64 20 62 79 | 20 65 72 69 6b 40 6e 61 |piled by| erik@na|
|00000020| 67 67 75 6d 2e 6e 6f 20 | 6f 6e 20 54 75 65 20 4a |ggum.no |on Tue J|
|00000030| 75 6e 20 32 35 20 31 34 | 3a 34 31 3a 30 31 20 31 |un 25 14|:41:01 1|
|00000040| 39 39 36 0a 3b 3b 3b 20 | 66 72 6f 6d 20 66 69 6c |996.;;; |from fil|
|00000050| 65 20 2f 68 6f 6d 65 2f | 67 64 2f 67 6e 75 2f 65 |e /home/|gd/gnu/e|
|00000060| 6d 61 63 73 2f 31 39 2e | 30 2f 6c 69 73 70 2f 6c |macs/19.|0/lisp/l|
|00000070| 6d 65 6e 75 2e 65 6c 0a | 3b 3b 3b 20 65 6d 61 63 |menu.el.|;;; emac|
|00000080| 73 20 76 65 72 73 69 6f | 6e 20 31 39 2e 33 31 2e |s versio|n 19.31.|
|00000090| 34 2e 0a 3b 3b 3b 20 62 | 79 74 65 63 6f 6d 70 20 |4..;;; b|ytecomp |
|000000a0| 76 65 72 73 69 6f 6e 20 | 46 53 46 20 32 2e 31 30 |version |FSF 2.10|
|000000b0| 0a 3b 3b 3b 20 6f 70 74 | 69 6d 69 7a 61 74 69 6f |.;;; opt|imizatio|
|000000c0| 6e 20 69 73 20 6f 6e 2e | 0a 3b 3b 3b 20 74 68 69 |n is on.|.;;; thi|
|000000d0| 73 20 66 69 6c 65 20 75 | 73 65 73 20 6f 70 63 6f |s file u|ses opco|
|000000e0| 64 65 73 20 77 68 69 63 | 68 20 64 6f 20 6e 6f 74 |des whic|h do not|
|000000f0| 20 65 78 69 73 74 20 69 | 6e 20 45 6d 61 63 73 20 | exist i|n Emacs |
|00000100| 31 38 2e 0a 0a 28 69 66 | 20 28 61 6e 64 20 28 62 |18...(if| (and (b|
|00000110| 6f 75 6e 64 70 20 27 65 | 6d 61 63 73 2d 76 65 72 |oundp 'e|macs-ver|
|00000120| 73 69 6f 6e 29 0a 09 20 | 28 6f 72 20 28 61 6e 64 |sion).. |(or (and|
|00000130| 20 28 62 6f 75 6e 64 70 | 20 27 65 70 6f 63 68 3a | (boundp| 'epoch:|
|00000140| 3a 76 65 72 73 69 6f 6e | 29 20 65 70 6f 63 68 3a |:version|) epoch:|
|00000150| 3a 76 65 72 73 69 6f 6e | 29 0a 09 20 20 20 20 20 |:version|).. |
|00000160| 28 73 74 72 69 6e 67 2d | 6c 65 73 73 70 20 65 6d |(string-|lessp em|
|00000170| 61 63 73 2d 76 65 72 73 | 69 6f 6e 20 22 31 39 2e |acs-vers|ion "19.|
|00000180| 32 39 22 29 29 29 0a 20 | 20 20 20 28 65 72 72 6f |29"))). | (erro|
|00000190| 72 20 22 60 6c 6d 65 6e | 75 2e 65 6c 27 20 77 61 |r "`lmen|u.el' wa|
|000001a0| 73 20 63 6f 6d 70 69 6c | 65 64 20 66 6f 72 20 45 |s compil|ed for E|
|000001b0| 6d 61 63 73 20 31 39 2e | 32 39 20 6f 72 20 6c 61 |macs 19.|29 or la|
|000001c0| 74 65 72 22 29 29 0a 0a | 0a 28 62 79 74 65 2d 63 |ter"))..|.(byte-c|
|000001d0| 6f 64 65 20 22 c0 09 42 | 11 c2 12 c0 87 22 20 5b |ode "..B|....." [|
|000001e0| 63 75 72 72 65 6e 74 2d | 6d 65 6e 75 62 61 72 20 |current-|menubar |
|000001f0| 63 75 72 72 65 6e 74 2d | 6c 6f 61 64 2d 6c 69 73 |current-|load-lis|
|00000200| 74 20 72 65 63 6f 6d 70 | 75 74 65 2d 6c 75 63 69 |t recomp|ute-luci|
|00000210| 64 2d 6d 65 6e 75 62 61 | 72 5d 20 32 29 0a 28 64 |d-menuba|r] 2).(d|
|00000220| 65 66 61 6c 69 61 73 20 | 27 72 65 63 6f 6d 70 75 |efalias |'recompu|
|00000230| 74 65 2d 6c 75 63 69 64 | 2d 6d 65 6e 75 62 61 72 |te-lucid|-menubar|
|00000240| 20 23 5b 6e 69 6c 20 22 | c0 09 c2 c3 c4 c5 8f 23 | #[nil "|.......#|
|00000250| 88 c3 89 16 06 87 22 20 | 5b 64 65 66 69 6e 65 2d |......" |[define-|
|00000260| 6b 65 79 20 6c 75 63 69 | 64 2d 6d 65 6e 75 62 61 |key luci|d-menuba|
|00000270| 72 2d 6d 61 70 20 5b 6d | 65 6e 75 2d 62 61 72 5d |r-map [m|enu-bar]|
|00000280| 20 6e 69 6c 20 28 6d 61 | 6b 65 2d 6c 75 63 69 64 | nil (ma|ke-lucid|
|00000290| 2d 6d 65 6e 75 2d 6b 65 | 79 6d 61 70 20 22 6d 65 |-menu-ke|ymap "me|
|000002a0| 6e 75 2d 62 61 72 22 20 | 63 75 72 72 65 6e 74 2d |nu-bar" |current-|
|000002b0| 6d 65 6e 75 62 61 72 29 | 20 28 28 65 72 72 6f 72 |menubar)| ((error|
|000002c0| 20 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c0 c1 21 | (byte-c|ode "..!|
|000002d0| 88 c2 c3 21 88 5c 66 15 | c6 89 14 87 22 20 5b 6d |...!.\f.|...." [m|
|000002e0| 65 73 73 61 67 65 20 22 | 49 6e 76 61 6c 69 64 20 |essage "|Invalid |
|000002f0| 64 61 74 61 20 69 6e 20 | 63 75 72 72 65 6e 74 2d |data in |current-|
|00000300| 6d 65 6e 75 62 61 72 20 | 6d 6f 76 65 64 20 74 6f |menubar |moved to|
|00000310| 20 6c 75 63 69 64 2d 66 | 61 69 6c 69 6e 67 2d 6d | lucid-f|ailing-m|
|00000320| 65 6e 75 62 61 72 22 20 | 73 69 74 2d 66 6f 72 20 |enubar" |sit-for |
|00000330| 31 20 63 75 72 72 65 6e | 74 2d 6d 65 6e 75 62 61 |1 curren|t-menuba|
|00000340| 72 20 6c 75 63 69 64 2d | 66 61 69 6c 69 6e 67 2d |r lucid-|failing-|
|00000350| 6d 65 6e 75 62 61 72 20 | 6e 69 6c 5d 20 32 29 29 |menubar |nil] 2))|
|00000360| 29 20 6c 75 63 69 64 2d | 6d 65 6e 75 2d 62 61 72 |) lucid-|menu-bar|
|00000370| 2d 64 69 72 74 79 2d 66 | 6c 61 67 5d 20 36 5d 29 |-dirty-f|lag] 6])|
|00000380| 0a 28 62 79 74 65 2d 63 | 6f 64 65 20 22 c0 c1 21 |.(byte-c|ode "..!|
|00000390| 84 09 00 c2 20 11 c1 0b | 42 13 c4 0d 9e 84 19 00 |.... ...|B.......|
|000003a0| c4 09 42 0d 42 15 c0 87 | 22 20 5b 62 6f 75 6e 64 |..B.B...|" [bound|
|000003b0| 70 20 6c 75 63 69 64 2d | 6d 65 6e 75 62 61 72 2d |p lucid-|menubar-|
|000003c0| 6d 61 70 20 6d 61 6b 65 | 2d 73 70 61 72 73 65 2d |map make|-sparse-|
|000003d0| 6b 65 79 6d 61 70 20 63 | 75 72 72 65 6e 74 2d 6c |keymap c|urrent-l|
|000003e0| 6f 61 64 2d 6c 69 73 74 | 20 63 75 72 72 65 6e 74 |oad-list| current|
|000003f0| 2d 6d 65 6e 75 62 61 72 | 20 6d 69 6e 6f 72 2d 6d |-menubar| minor-m|
|00000400| 6f 64 65 2d 6d 61 70 2d | 61 6c 69 73 74 5d 20 32 |ode-map-|alist] 2|
|00000410| 29 0a 28 64 65 66 61 6c | 69 61 73 20 27 73 65 74 |).(defal|ias 'set|
|00000420| 2d 6d 65 6e 75 62 61 72 | 2d 64 69 72 74 79 2d 66 |-menubar|-dirty-f|
|00000430| 6c 61 67 20 23 5b 6e 69 | 6c 20 22 c0 20 88 c1 89 |lag #[ni|l ". ...|
|00000440| 12 87 22 20 5b 66 6f 72 | 63 65 2d 6d 6f 64 65 2d |.." [for|ce-mode-|
|00000450| 6c 69 6e 65 2d 75 70 64 | 61 74 65 20 74 20 6c 75 |line-upd|ate t lu|
|00000460| 63 69 64 2d 6d 65 6e 75 | 2d 62 61 72 2d 64 69 72 |cid-menu|-bar-dir|
|00000470| 74 79 2d 66 6c 61 67 5d | 20 32 5d 29 0a 28 62 79 |ty-flag]| 2]).(by|
|00000480| 74 65 2d 63 6f 64 65 20 | 22 c0 c1 21 84 08 00 c2 |te-code |"..!....|
|00000490| 11 c1 0b 42 13 c0 c4 21 | 84 14 00 c5 14 c4 0b 42 |...B...!|.......B|
|000004a0| 13 c5 87 22 20 5b 62 6f | 75 6e 64 70 20 61 64 64 |..." [bo|undp add|
|000004b0| 2d 6d 65 6e 75 2d 69 74 | 65 6d 2d 63 6f 75 6e 74 |-menu-it|em-count|
|000004c0| 20 30 20 63 75 72 72 65 | 6e 74 2d 6c 6f 61 64 2d | 0 curre|nt-load-|
|000004d0| 6c 69 73 74 20 6d 61 6b | 65 2d 6c 75 63 69 64 2d |list mak|e-lucid-|
|000004e0| 6d 65 6e 75 2d 6b 65 79 | 6d 61 70 2d 64 69 73 61 |menu-key|map-disa|
|000004f0| 62 6c 65 20 6e 69 6c 5d | 20 32 29 0a 28 64 65 66 |ble nil]| 2).(def|
|00000500| 61 6c 69 61 73 20 27 6d | 61 6b 65 2d 6c 75 63 69 |alias 'm|ake-luci|
|00000510| 64 2d 6d 65 6e 75 2d 6b | 65 79 6d 61 70 20 23 5b |d-menu-k|eymap #[|
|00000520| 28 6d 65 6e 75 2d 6e 61 | 6d 65 20 6d 65 6e 75 2d |(menu-na|me menu-|
|00000530| 69 74 65 6d 73 29 20 22 | c0 09 21 1a c3 5c 66 21 |items) "|..!..\f!|
|00000540| 89 14 83 89 01 5c 66 40 | c5 89 89 1e 06 1e 07 1e |.....\f@|........|
|00000550| 08 89 1e 09 3b 83 34 00 | c5 16 08 ca cb 0e 09 5c |....;.4.|.......\|
|00000560| 22 83 2d 00 cc 82 2f 00 | 0e 09 16 07 82 5b 01 0e |".-.../.|.....[..|
|00000570| 09 3a 83 4c 00 cd 0e 09 | 40 0e 09 41 5c 22 16 08 |.:.L....|@..A\"..|
|00000580| 0e 09 40 16 07 82 5b 01 | ce 0e 09 21 83 5b 01 cf |..@...[.|...!.[..|
|00000590| d0 d1 0e 12 5c 22 21 16 | 08 0e 12 54 16 12 0e 09 |....\"!.|...T....|
|000005a0| d3 48 16 07 0e 09 d4 48 | 89 16 06 39 83 7b 00 0e |.H.....H|...9.{..|
|000005b0| 08 0e 06 4d 88 82 85 00 | 0e 08 d5 c5 d6 0e 06 46 |...M....|.......F|
|000005c0| 4d 88 d7 0e 08 d8 d9 23 | 88 da 1e 1b 0e 1b 0e 09 |M......#|........|
|000005d0| 47 57 83 5a 01 0e 09 0e | 1b 48 dc 3d 83 bc 00 d7 |GW.Z....|.H.=....|
|000005e0| 0e 08 dd 0e 09 0e 1b 54 | 48 86 b0 00 de 23 88 0e |.......T|H....#..|
|000005f0| 1b da 5c 5c 89 16 1b 82 | 91 00 0e 09 0e 1b 48 df |..\\....|......H.|
|00000600| 3d 83 d0 00 0e 1b da 5c | 5c 89 16 1b 82 91 00 0e |=......\|\.......|
|00000610| 09 0e 1b 48 e0 3d 83 e4 | 00 0e 1b da 5c 5c 89 16 |...H.=..|....\\..|
|00000620| 1b 82 91 00 0e 09 0e 1b | 48 e1 3d 83 f8 00 0e 1b |........|H.=.....|
|00000630| da 5c 5c 89 16 1b 82 91 | 00 0e 09 0e 1b 48 e2 3d |.\\.....|.....H.=|
|00000640| 83 5c 66 01 0e 1b da 5c | 5c 89 16 1b 82 91 00 0e |.\f....\|\.......|
|00000650| 09 0e 1b 48 39 83 2f 01 | e3 e4 0e 09 0e 1b 48 21 |...H9./.|......H!|
|00000660| 21 e5 55 83 2f 01 e6 e7 | 0e 09 0e 1b 48 5c 22 88 |!.U./...|....H\".|
|00000670| 82 8f 00 0e 1b da 55 83 | 4e 01 d7 0e 08 dd 0e 09 |......U.|N.......|
|00000680| 0e 1b 48 86 43 01 de 23 | 88 0e 09 47 89 16 1b 82 |..H.C..#|...G....|
|00000690| 91 00 e6 e8 0e 09 0e 1b | 48 5c 22 88 82 8f 00 29 |........|H\"....)|
|000006a0| 0e 08 84 6d 01 5c 6e c5 | 0e 07 44 5c 6e 41 42 a1 |...m.\n.|..D\nAB.|
|000006b0| 88 82 81 01 0e 07 83 81 | 01 e9 5c 6e ea eb 0e 07 |........|..\n....|
|000006c0| 21 21 0e 07 0e 08 42 23 | 88 2c 5c 66 41 89 14 84 |!!....B#|.,\fA...|
|000006d0| 5c 66 00 5c 6e 29 87 22 | 20 5b 6d 61 6b 65 2d 73 |\f.\n)."| [make-s|
|000006e0| 70 61 72 73 65 2d 6b 65 | 79 6d 61 70 20 6d 65 6e |parse-ke|ymap men|
|000006f0| 75 2d 6e 61 6d 65 20 6d | 65 6e 75 20 72 65 76 65 |u-name m|enu reve|
|00000700| 72 73 65 20 6d 65 6e 75 | 2d 69 74 65 6d 73 20 6e |rse menu|-items n|
|00000710| 69 6c 20 63 61 6c 6c 62 | 61 63 6b 20 6e 61 6d 65 |il callb|ack name|
|00000720| 20 63 6f 6d 6d 61 6e 64 | 20 69 74 65 6d 20 73 74 | command| item st|
|00000730| 72 69 6e 67 2d 6d 61 74 | 63 68 20 22 5e 2d 2b 24 |ring-mat|ch "^-+$|
|00000740| 22 20 22 22 20 6d 61 6b | 65 2d 6c 75 63 69 64 2d |" "" mak|e-lucid-|
|00000750| 6d 65 6e 75 2d 6b 65 79 | 6d 61 70 20 76 65 63 74 |menu-key|map vect|
|00000760| 6f 72 70 20 6d 61 6b 65 | 2d 73 79 6d 62 6f 6c 20 |orp make|-symbol |
|00000770| 66 6f 72 6d 61 74 20 22 | 6d 65 6e 75 2d 66 75 6e |format "|menu-fun|
|00000780| 63 74 69 6f 6e 2d 25 64 | 22 20 61 64 64 2d 6d 65 |ction-%d|" add-me|
|00000790| 6e 75 2d 69 74 65 6d 2d | 63 6f 75 6e 74 20 30 20 |nu-item-|count 0 |
|000007a0| 31 20 6c 61 6d 62 64 61 | 20 28 69 6e 74 65 72 61 |1 lambda| (intera|
|000007b0| 63 74 69 76 65 29 20 70 | 75 74 20 6d 65 6e 75 2d |ctive) p|ut menu-|
|000007c0| 61 6c 69 61 73 20 74 20 | 32 20 69 20 3a 61 63 74 |alias t |2 i :act|
|000007d0| 69 76 65 20 6d 65 6e 75 | 2d 65 6e 61 62 6c 65 20 |ive menu|-enable |
|000007e0| 6d 61 6b 65 2d 6c 75 63 | 69 64 2d 6d 65 6e 75 2d |make-luc|id-menu-|
|000007f0| 6b 65 79 6d 61 70 2d 64 | 69 73 61 62 6c 65 20 3a |keymap-d|isable :|
|00000800| 73 75 66 66 69 78 20 3a | 6b 65 79 73 20 3a 73 74 |suffix :|keys :st|
|00000810| 79 6c 65 20 3a 73 65 6c | 65 63 74 65 64 20 73 74 |yle :sel|ected st|
|00000820| 72 69 6e 67 2d 74 6f 2d | 63 68 61 72 20 73 79 6d |ring-to-|char sym|
|00000830| 62 6f 6c 2d 6e 61 6d 65 | 20 35 38 20 65 72 72 6f |bol-name| 58 erro|
|00000840| 72 20 22 55 6e 72 65 63 | 6f 67 6e 69 7a 65 64 20 |r "Unrec|ognized |
|00000850| 6d 65 6e 75 20 69 74 65 | 6d 20 6b 65 79 77 6f 72 |menu ite|m keywor|
|00000860| 64 3a 20 25 53 22 20 22 | 55 6e 65 78 70 65 63 74 |d: %S" "|Unexpect|
|00000870| 65 64 20 6d 65 6e 75 20 | 69 74 65 6d 20 76 61 6c |ed menu |item val|
|00000880| 75 65 3a 20 25 53 22 20 | 64 65 66 69 6e 65 2d 6b |ue: %S" |define-k|
|00000890| 65 79 20 76 65 63 74 6f | 72 20 69 6e 74 65 72 6e |ey vecto|r intern|
|000008a0| 5d 20 36 5d 29 0a 23 40 | 32 37 32 38 20 50 6f 70 |] 6]).#@|2728 Pop|
|000008b0| 20 75 70 20 74 68 65 20 | 67 69 76 65 6e 20 6d 65 | up the |given me|
|000008c0| 6e 75 2e 0a 41 20 6d 65 | 6e 75 20 69 73 20 61 20 |nu..A me|nu is a |
|000008d0| 6c 69 73 74 20 6f 66 20 | 6d 65 6e 75 20 69 74 65 |list of |menu ite|
|000008e0| 6d 73 2c 20 73 74 72 69 | 6e 67 73 2c 20 61 6e 64 |ms, stri|ngs, and|
|000008f0| 20 73 75 62 6d 65 6e 75 | 73 2e 0a 0a 54 68 65 20 | submenu|s...The |
|00000900| 66 69 72 73 74 20 65 6c | 65 6d 65 6e 74 20 6f 66 |first el|ement of|
|00000910| 20 61 20 6d 65 6e 75 20 | 6d 75 73 74 20 62 65 20 | a menu |must be |
|00000920| 61 20 73 74 72 69 6e 67 | 2c 20 77 68 69 63 68 20 |a string|, which |
|00000930| 69 73 20 74 68 65 20 6e | 61 6d 65 20 6f 66 20 74 |is the n|ame of t|
|00000940| 68 65 0a 6d 65 6e 75 2e | 20 20 54 68 69 73 20 69 |he.menu.| This i|
|00000950| 73 20 74 68 65 20 73 74 | 72 69 6e 67 20 74 68 61 |s the st|ring tha|
|00000960| 74 20 77 69 6c 6c 20 62 | 65 20 64 69 73 70 6c 61 |t will b|e displa|
|00000970| 79 65 64 20 69 6e 20 74 | 68 65 20 70 61 72 65 6e |yed in t|he paren|
|00000980| 74 20 6d 65 6e 75 2c 20 | 69 66 0a 61 6e 79 2e 20 |t menu, |if.any. |
|00000990| 20 46 6f 72 20 74 6f 70 | 6c 65 76 65 6c 20 6d 65 | For top|level me|
|000009a0| 6e 75 73 2c 20 69 74 20 | 69 73 20 69 67 6e 6f 72 |nus, it |is ignor|
|000009b0| 65 64 2e 20 20 54 68 69 | 73 20 73 74 72 69 6e 67 |ed. Thi|s string|
|000009c0| 20 69 73 20 6e 6f 74 20 | 64 69 73 70 6c 61 79 65 | is not |displaye|
|000009d0| 64 0a 69 6e 20 74 68 65 | 20 6d 65 6e 75 20 69 74 |d.in the| menu it|
|000009e0| 73 65 6c 66 2e 0a 0a 41 | 20 6d 65 6e 75 20 69 74 |self...A| menu it|
|000009f0| 65 6d 20 69 73 20 61 20 | 76 65 63 74 6f 72 20 63 |em is a |vector c|
|00000a00| 6f 6e 74 61 69 6e 69 6e | 67 3a 0a 0a 20 2d 20 74 |ontainin|g:.. - t|
|00000a10| 68 65 20 6e 61 6d 65 20 | 6f 66 20 74 68 65 20 6d |he name |of the m|
|00000a20| 65 6e 75 20 69 74 65 6d | 20 28 61 20 73 74 72 69 |enu item| (a stri|
|00000a30| 6e 67 29 3b 0a 20 2d 20 | 74 68 65 20 60 63 61 6c |ng);. - |the `cal|
|00000a40| 6c 62 61 63 6b 27 20 6f | 66 20 74 68 61 74 20 69 |lback' o|f that i|
|00000a50| 74 65 6d 3b 0a 20 2d 20 | 61 20 6c 69 73 74 20 6f |tem;. - |a list o|
|00000a60| 66 20 6b 65 79 77 6f 72 | 64 73 20 77 69 74 68 20 |f keywor|ds with |
|00000a70| 61 73 73 6f 63 69 61 74 | 65 64 20 76 61 6c 75 65 |associat|ed value|
|00000a80| 73 3a 0a 20 20 20 2d 20 | 3a 61 63 74 69 76 65 20 |s:. - |:active |
|00000a90| 61 63 74 69 76 65 2d 70 | 09 61 20 66 6f 72 6d 20 |active-p|.a form |
|00000aa0| 73 70 65 63 69 66 79 69 | 6e 67 20 77 68 65 74 68 |specifyi|ng wheth|
|00000ab0| 65 72 20 74 68 69 73 20 | 69 74 65 6d 20 69 73 20 |er this |item is |
|00000ac0| 73 65 6c 65 63 74 61 62 | 6c 65 3b 0a 20 20 20 2d |selectab|le;. -|
|00000ad0| 20 3a 73 75 66 66 69 78 | 20 73 75 66 66 69 78 09 | :suffix| suffix.|
|00000ae0| 61 20 73 74 72 69 6e 67 | 20 74 6f 20 62 65 20 61 |a string| to be a|
|00000af0| 70 70 65 6e 64 65 64 20 | 74 6f 20 74 68 65 20 6e |ppended |to the n|
|00000b00| 61 6d 65 20 61 73 20 61 | 6e 20 60 61 72 67 75 6d |ame as a|n `argum|
|00000b10| 65 6e 74 27 0a 09 09 09 | 74 6f 20 74 68 65 20 63 |ent'....|to the c|
|00000b20| 6f 6d 6d 61 6e 64 2c 20 | 6c 69 6b 65 20 60 4b 69 |ommand, |like `Ki|
|00000b30| 6c 6c 20 42 75 66 66 65 | 72 20 4e 41 4d 45 27 3b |ll Buffe|r NAME';|
|00000b40| 0a 20 20 20 2d 20 3a 6b | 65 79 73 20 63 6f 6d 6d |. - :k|eys comm|
|00000b50| 61 6e 64 2d 6b 65 79 73 | 09 61 20 73 74 72 69 6e |and-keys|.a strin|
|00000b60| 67 2c 20 73 75 69 74 61 | 62 6c 65 20 66 6f 72 20 |g, suita|ble for |
|00000b70| 60 73 75 62 73 74 69 74 | 75 74 65 2d 63 6f 6d 6d |`substit|ute-comm|
|00000b80| 61 6e 64 2d 6b 65 79 73 | 27 2c 0a 09 09 09 74 6f |and-keys|',....to|
|00000b90| 20 73 70 65 63 69 66 79 | 20 74 68 65 20 6b 65 79 | specify| the key|
|00000ba0| 62 6f 61 72 64 20 65 71 | 75 69 76 61 6c 65 6e 74 |board eq|uivalent|
|00000bb0| 20 6f 66 20 61 20 63 6f | 6d 6d 61 6e 64 0a 09 09 | of a co|mmand...|
|00000bc0| 09 77 68 65 6e 20 74 68 | 65 20 63 61 6c 6c 62 61 |.when th|e callba|
|00000bd0| 63 6b 20 69 73 20 61 20 | 66 6f 72 6d 20 28 74 68 |ck is a |form (th|
|00000be0| 69 73 20 69 73 20 6e 6f | 74 20 6e 65 63 65 73 73 |is is no|t necess|
|00000bf0| 61 72 79 0a 09 09 09 77 | 68 65 6e 20 74 68 65 20 |ary....w|hen the |
|00000c00| 63 61 6c 6c 62 61 63 6b | 20 69 73 20 61 20 73 79 |callback| is a sy|
|00000c10| 6d 62 6f 6c 2c 20 61 73 | 20 74 68 65 20 6b 65 79 |mbol, as| the key|
|00000c20| 62 6f 61 72 64 0a 09 09 | 09 65 71 75 69 76 61 6c |board...|.equival|
|00000c30| 65 6e 74 20 69 73 20 63 | 6f 6d 70 75 74 65 64 20 |ent is c|omputed |
|00000c40| 61 75 74 6f 6d 61 74 69 | 63 61 6c 6c 79 20 69 6e |automati|cally in|
|00000c50| 20 74 68 61 74 20 63 61 | 73 65 29 3b 0a 20 20 20 | that ca|se);. |
|00000c60| 2d 20 3a 73 74 79 6c 65 | 20 73 74 79 6c 65 09 61 |- :style| style.a|
|00000c70| 20 73 79 6d 62 6f 6c 3a | 20 6e 69 6c 20 66 6f 72 | symbol:| nil for|
|00000c80| 20 61 20 6e 6f 72 6d 61 | 6c 20 6d 65 6e 75 20 69 | a norma|l menu i|
|00000c90| 74 65 6d 2c 20 60 74 6f | 67 67 6c 65 27 20 66 6f |tem, `to|ggle' fo|
|00000ca0| 72 0a 09 09 09 61 20 74 | 6f 67 67 6c 65 20 62 75 |r....a t|oggle bu|
|00000cb0| 74 74 6f 6e 20 28 61 20 | 73 69 6e 67 6c 65 20 6f |tton (a |single o|
|00000cc0| 70 74 69 6f 6e 20 74 68 | 61 74 20 63 61 6e 20 62 |ption th|at can b|
|00000cd0| 65 20 74 75 72 6e 65 64 | 0a 09 09 09 6f 6e 20 6f |e turned|....on o|
|00000ce0| 72 20 6f 66 66 29 2c 20 | 6f 72 20 60 72 61 64 69 |r off), |or `radi|
|00000cf0| 6f 27 20 66 6f 72 20 61 | 20 72 61 64 69 6f 20 62 |o' for a| radio b|
|00000d00| 75 74 74 6f 6e 20 28 6f | 6e 65 20 6f 66 20 61 0a |utton (o|ne of a.|
|00000d10| 09 09 09 67 72 6f 75 70 | 20 6f 66 20 6d 75 74 75 |...group| of mutu|
|00000d20| 61 6c 6c 79 20 65 78 63 | 6c 75 73 69 76 65 20 6f |ally exc|lusive o|
|00000d30| 70 74 69 6f 6e 73 29 3b | 0a 20 20 20 2d 20 3a 73 |ptions);|. - :s|
|00000d40| 65 6c 65 63 74 65 64 20 | 66 6f 72 6d 09 66 6f 72 |elected |form.for|
|00000d50| 20 60 74 6f 67 67 6c 65 | 27 20 6f 72 20 60 72 61 | `toggle|' or `ra|
|00000d60| 64 69 6f 27 20 73 74 79 | 6c 65 2c 20 61 20 66 6f |dio' sty|le, a fo|
|00000d70| 72 6d 20 74 68 61 74 20 | 73 70 65 63 69 66 69 65 |rm that |specifie|
|00000d80| 73 0a 09 09 09 77 68 65 | 74 68 65 72 20 74 68 65 |s....whe|ther the|
|00000d90| 20 62 75 74 74 6f 6e 20 | 77 69 6c 6c 20 62 65 20 | button |will be |
|00000da0| 69 6e 20 74 68 65 20 73 | 65 6c 65 63 74 65 64 20 |in the s|elected |
|00000db0| 73 74 61 74 65 2e 0a 0a | 41 6c 74 65 72 6e 61 74 |state...|Alternat|
|00000dc0| 65 6c 79 2c 20 74 68 65 | 20 76 65 63 74 6f 72 20 |ely, the| vector |
|00000dd0| 6d 61 79 20 63 6f 6e 74 | 61 69 6e 20 65 78 61 63 |may cont|ain exac|
|00000de0| 74 6c 79 20 33 20 6f 72 | 20 34 20 65 6c 65 6d 65 |tly 3 or| 4 eleme|
|00000df0| 6e 74 73 2c 20 77 69 74 | 68 20 74 68 65 20 74 68 |nts, wit|h the th|
|00000e00| 69 72 64 0a 65 6c 65 6d | 65 6e 74 20 73 70 65 63 |ird.elem|ent spec|
|00000e10| 69 66 79 69 6e 67 20 60 | 61 63 74 69 76 65 2d 70 |ifying `|active-p|
|00000e20| 27 20 61 6e 64 20 74 68 | 65 20 66 6f 75 72 74 68 |' and th|e fourth|
|00000e30| 20 73 70 65 63 69 66 79 | 69 6e 67 20 60 73 75 66 | specify|ing `suf|
|00000e40| 66 69 78 27 2e 0a 0a 49 | 66 20 74 68 65 20 60 63 |fix'...I|f the `c|
|00000e50| 61 6c 6c 62 61 63 6b 27 | 20 6f 66 20 61 20 6d 65 |allback'| of a me|
|00000e60| 6e 75 20 69 74 65 6d 20 | 69 73 20 61 20 73 79 6d |nu item |is a sym|
|00000e70| 62 6f 6c 2c 20 74 68 65 | 6e 20 69 74 20 6d 75 73 |bol, the|n it mus|
|00000e80| 74 20 6e 61 6d 65 20 61 | 20 63 6f 6d 6d 61 6e 64 |t name a| command|
|00000e90| 2e 0a 49 74 20 77 69 6c | 6c 20 62 65 20 69 6e 76 |..It wil|l be inv|
|00000ea0| 6f 6b 65 64 20 77 69 74 | 68 20 60 63 61 6c 6c 2d |oked wit|h `call-|
|00000eb0| 69 6e 74 65 72 61 63 74 | 69 76 65 6c 79 27 2e 20 |interact|ively'. |
|00000ec0| 20 49 66 20 69 74 20 69 | 73 20 61 20 6c 69 73 74 | If it i|s a list|
|00000ed0| 2c 20 74 68 65 6e 20 69 | 74 20 69 73 0a 65 76 61 |, then i|t is.eva|
|00000ee0| 6c 75 61 74 65 64 20 77 | 69 74 68 20 60 65 76 61 |luated w|ith `eva|
|00000ef0| 6c 27 2e 0a 0a 49 66 20 | 61 6e 20 65 6c 65 6d 65 |l'...If |an eleme|
|00000f00| 6e 74 20 6f 66 20 61 20 | 6d 65 6e 75 20 69 73 20 |nt of a |menu is |
|00000f10| 61 20 73 74 72 69 6e 67 | 2c 20 74 68 65 6e 20 74 |a string|, then t|
|00000f20| 68 61 74 20 73 74 72 69 | 6e 67 20 77 69 6c 6c 20 |hat stri|ng will |
|00000f30| 62 65 20 70 72 65 73 65 | 6e 74 65 64 20 69 6e 0a |be prese|nted in.|
|00000f40| 74 68 65 20 6d 65 6e 75 | 20 61 73 20 75 6e 73 65 |the menu| as unse|
|00000f50| 6c 65 63 74 61 62 6c 65 | 20 74 65 78 74 2e 0a 0a |lectable| text...|
|00000f60| 49 66 20 61 6e 20 65 6c | 65 6d 65 6e 74 20 6f 66 |If an el|ement of|
|00000f70| 20 61 20 6d 65 6e 75 20 | 69 73 20 61 20 73 74 72 | a menu |is a str|
|00000f80| 69 6e 67 20 63 6f 6e 73 | 69 73 74 69 6e 67 20 73 |ing cons|isting s|
|00000f90| 6f 6c 65 6c 79 20 6f 66 | 20 68 79 70 68 65 6e 73 |olely of| hyphens|
|00000fa0| 2c 20 74 68 65 6e 20 74 | 68 61 74 0a 69 74 65 6d |, then t|hat.item|
|00000fb0| 20 77 69 6c 6c 20 62 65 | 20 70 72 65 73 65 6e 74 | will be| present|
|00000fc0| 65 64 20 61 73 20 61 20 | 73 6f 6c 69 64 20 68 6f |ed as a |solid ho|
|00000fd0| 72 69 7a 6f 6e 74 61 6c | 20 6c 69 6e 65 2e 0a 0a |rizontal| line...|
|00000fe0| 49 66 20 61 6e 20 65 6c | 65 6d 65 6e 74 20 6f 66 |If an el|ement of|
|00000ff0| 20 61 20 6d 65 6e 75 20 | 69 73 20 61 20 6c 69 73 | a menu |is a lis|
|00001000| 74 2c 20 69 74 20 69 73 | 20 74 72 65 61 74 65 64 |t, it is| treated|
|00001010| 20 61 73 20 61 20 73 75 | 62 6d 65 6e 75 2e 20 20 | as a su|bmenu. |
|00001020| 54 68 65 20 6e 61 6d 65 | 20 6f 66 0a 74 68 61 74 |The name| of.that|
|00001030| 20 73 75 62 6d 65 6e 75 | 20 28 74 68 65 20 66 69 | submenu| (the fi|
|00001040| 72 73 74 20 65 6c 65 6d | 65 6e 74 20 69 6e 20 74 |rst elem|ent in t|
|00001050| 68 65 20 6c 69 73 74 29 | 20 77 69 6c 6c 20 62 65 |he list)| will be|
|00001060| 20 75 73 65 64 20 61 73 | 20 74 68 65 20 6e 61 6d | used as| the nam|
|00001070| 65 20 6f 66 20 74 68 65 | 0a 69 74 65 6d 20 72 65 |e of the|.item re|
|00001080| 70 72 65 73 65 6e 74 69 | 6e 67 20 74 68 69 73 20 |presenti|ng this |
|00001090| 6d 65 6e 75 20 6f 6e 20 | 74 68 65 20 70 61 72 65 |menu on |the pare|
|000010a0| 6e 74 2e 0a 0a 54 68 65 | 20 73 79 6e 74 61 78 2c |nt...The| syntax,|
|000010b0| 20 6d 6f 72 65 20 70 72 | 65 63 69 73 65 6c 79 3a | more pr|ecisely:|
|000010c0| 0a 0a 20 20 20 66 6f 72 | 6d 09 09 3a 3d 20 20 3c |.. for|m..:= <|
|000010d0| 73 6f 6d 65 74 68 69 6e | 67 20 74 6f 20 70 61 73 |somethin|g to pas|
|000010e0| 73 20 74 6f 20 60 65 76 | 61 6c 27 3e 0a 20 20 20 |s to `ev|al'>. |
|000010f0| 63 6f 6d 6d 61 6e 64 09 | 3a 3d 20 20 3c 61 20 73 |command.|:= <a s|
|00001100| 79 6d 62 6f 6c 20 6f 72 | 20 73 74 72 69 6e 67 2c |ymbol or| string,|
|00001110| 20 74 6f 20 70 61 73 73 | 20 74 6f 20 60 63 61 6c | to pass| to `cal|
|00001120| 6c 2d 69 6e 74 65 72 61 | 63 74 69 76 65 6c 79 27 |l-intera|ctively'|
|00001130| 3e 0a 20 20 20 63 61 6c | 6c 62 61 63 6b 20 09 3a |>. cal|lback .:|
|00001140| 3d 20 20 63 6f 6d 6d 61 | 6e 64 20 7c 20 66 6f 72 |= comma|nd | for|
|00001150| 6d 0a 20 20 20 61 63 74 | 69 76 65 2d 70 09 3a 3d |m. act|ive-p.:=|
|00001160| 20 20 3c 74 20 6f 72 20 | 6e 69 6c 2c 20 77 68 65 | <t or |nil, whe|
|00001170| 74 68 65 72 20 74 68 69 | 73 20 74 68 69 6e 67 20 |ther thi|s thing |
|00001180| 69 73 20 73 65 6c 65 63 | 74 61 62 6c 65 3e 0a 20 |is selec|table>. |
|00001190| 20 20 74 65 78 74 09 09 | 3a 3d 20 20 3c 73 74 72 | text..|:= <str|
|000011a0| 69 6e 67 2c 20 6e 6f 6e | 20 73 65 6c 65 63 74 61 |ing, non| selecta|
|000011b0| 62 6c 65 3e 0a 20 20 20 | 6e 61 6d 65 09 09 3a 3d |ble>. |name..:=|
|000011c0| 20 20 3c 73 74 72 69 6e | 67 3e 0a 20 20 20 73 75 | <strin|g>. su|
|000011d0| 66 66 69 78 09 3a 3d 20 | 20 3c 73 74 72 69 6e 67 |ffix.:= | <string|
|000011e0| 3e 0a 20 20 20 63 6f 6d | 6d 61 6e 64 2d 6b 65 79 |>. com|mand-key|
|000011f0| 73 09 3a 3d 20 20 3c 73 | 74 72 69 6e 67 3e 0a 20 |s.:= <s|tring>. |
|00001200| 20 20 6f 62 6a 65 63 74 | 2d 73 74 79 6c 65 09 3a | object|-style.:|
|00001210| 3d 20 20 27 6e 69 6c 27 | 20 7c 20 27 74 6f 67 67 |= 'nil'| | 'togg|
|00001220| 6c 65 27 20 7c 20 27 72 | 61 64 69 6f 27 0a 20 20 |le' | 'r|adio'. |
|00001230| 20 6b 65 79 77 6f 72 64 | 09 3a 3d 20 20 27 3a 61 | keyword|.:= ':a|
|00001240| 63 74 69 76 65 27 20 61 | 63 74 69 76 65 2d 70 0a |ctive' a|ctive-p.|
|00001250| 09 09 20 7c 20 20 27 3a | 73 75 66 66 69 78 27 20 |.. | ':|suffix' |
|00001260| 73 75 66 66 69 78 0a 09 | 09 20 7c 20 20 27 3a 6b |suffix..|. | ':k|
|00001270| 65 79 73 27 20 63 6f 6d | 6d 61 6e 64 2d 6b 65 79 |eys' com|mand-key|
|00001280| 73 0a 09 09 20 7c 20 20 | 27 3a 73 74 79 6c 65 27 |s... | |':style'|
|00001290| 20 6f 62 6a 65 63 74 2d | 73 74 79 6c 65 0a 09 09 | object-|style...|
|000012a0| 20 7c 20 20 27 3a 73 65 | 6c 65 63 74 65 64 27 20 | | ':se|lected' |
|000012b0| 66 6f 72 6d 0a 20 20 20 | 6d 65 6e 75 2d 69 74 65 |form. |menu-ite|
|000012c0| 6d 09 3a 3d 20 20 27 5b | 27 20 20 6e 61 6d 65 20 |m.:= '[|' name |
|000012d0| 63 61 6c 6c 62 61 63 6b | 20 61 63 74 69 76 65 2d |callback| active-|
|000012e0| 70 20 5b 20 73 75 66 66 | 69 78 20 5d 20 20 27 5d |p [ suff|ix ] ']|
|000012f0| 27 0a 09 09 20 7c 20 20 | 27 5b 27 20 20 6e 61 6d |'... | |'[' nam|
|00001300| 65 20 63 61 6c 6c 62 61 | 63 6b 20 5b 20 6b 65 79 |e callba|ck [ key|
|00001310| 77 6f 72 64 20 5d 2b 20 | 20 27 5d 27 0a 20 20 20 |word ]+ | ']'. |
|00001320| 6d 65 6e 75 09 09 3a 3d | 20 20 27 28 27 20 6e 61 |menu..:=| '(' na|
|00001330| 6d 65 20 5b 20 6d 65 6e | 75 2d 69 74 65 6d 20 7c |me [ men|u-item ||
|00001340| 20 6d 65 6e 75 20 7c 20 | 74 65 78 74 20 5d 2b 20 | menu | |text ]+ |
|00001350| 27 29 27 1f 0a 28 64 65 | 66 61 6c 69 61 73 20 27 |')'..(de|falias '|
|00001360| 70 6f 70 75 70 2d 6d 65 | 6e 75 20 23 5b 28 6d 65 |popup-me|nu #[(me|
|00001370| 6e 75 2d 64 65 73 63 29 | 20 22 c0 09 40 09 41 5c |nu-desc)| "..@.A\|
|00001380| 22 c2 20 c3 89 1c 1d 1e | 06 1e 07 0e 07 85 4f 00 |". .....|......O.|
|00001390| c8 0e 06 41 40 0e 06 41 | 41 44 0e 06 40 44 0e 07 |...A@..A|AD..@D..|
|000013a0| 5c 22 89 15 85 4f 00 c9 | 0e 07 ca cb 0d 5c 22 5c |\"...O..|.....\"\|
|000013b0| 22 14 c3 16 07 5c 66 83 | 10 00 cc 5c 66 21 83 48 |"....\f.|...\f!.H|
|000013c0| 00 5c 66 89 16 07 82 12 | 00 cd 5c 66 21 88 82 10 |.\f.....|..\f!...|
|000013d0| 00 2c 87 22 20 5b 6d 61 | 6b 65 2d 6c 75 63 69 64 |.,." [ma|ke-lucid|
|000013e0| 2d 6d 65 6e 75 2d 6b 65 | 79 6d 61 70 20 6d 65 6e |-menu-ke|ymap men|
|000013f0| 75 2d 64 65 73 63 20 6d | 6f 75 73 65 2d 70 69 78 |u-desc m|ouse-pix|
|00001400| 65 6c 2d 70 6f 73 69 74 | 69 6f 6e 20 6e 69 6c 20 |el-posit|ion nil |
|00001410| 63 6d 64 20 61 6e 73 77 | 65 72 20 70 6f 73 20 6d |cmd answ|er pos m|
|00001420| 65 6e 75 20 78 2d 70 6f | 70 75 70 2d 6d 65 6e 75 |enu x-po|pup-menu|
|00001430| 20 6c 6f 6f 6b 75 70 2d | 6b 65 79 20 61 70 70 6c | lookup-|key appl|
|00001440| 79 20 76 65 63 74 6f 72 | 20 6b 65 79 6d 61 70 70 |y vector| keymapp|
|00001450| 20 63 61 6c 6c 2d 69 6e | 74 65 72 61 63 74 69 76 | call-in|teractiv|
|00001460| 65 6c 79 5d 20 36 20 28 | 23 24 20 2e 20 32 32 32 |ely] 6 (|#$ . 222|
|00001470| 31 29 5d 29 0a 23 40 31 | 31 35 39 20 50 6f 70 20 |1)]).#@1|159 Pop |
|00001480| 75 70 20 61 20 64 69 61 | 6c 6f 67 20 62 6f 78 2e |up a dia|log box.|
|00001490| 0a 41 20 64 69 61 6c 6f | 67 20 62 6f 78 20 64 65 |.A dialo|g box de|
|000014a0| 73 63 72 69 70 74 69 6f | 6e 20 69 73 20 61 20 6c |scriptio|n is a l|
|000014b0| 69 73 74 2e 0a 0a 20 2d | 20 54 68 65 20 66 69 72 |ist... -| The fir|
|000014c0| 73 74 20 65 6c 65 6d 65 | 6e 74 20 6f 66 20 74 68 |st eleme|nt of th|
|000014d0| 65 20 6c 69 73 74 20 69 | 73 20 61 20 73 74 72 69 |e list i|s a stri|
|000014e0| 6e 67 20 74 6f 20 64 69 | 73 70 6c 61 79 20 69 6e |ng to di|splay in|
|000014f0| 20 74 68 65 20 64 69 61 | 6c 6f 67 20 62 6f 78 2e | the dia|log box.|
|00001500| 0a 20 2d 20 54 68 65 20 | 72 65 73 74 20 6f 66 20 |. - The |rest of |
|00001510| 74 68 65 20 65 6c 65 6d | 65 6e 74 73 20 61 72 65 |the elem|ents are|
|00001520| 20 64 65 73 63 72 69 70 | 74 69 6f 6e 73 20 6f 66 | descrip|tions of|
|00001530| 20 74 68 65 20 64 69 61 | 6c 6f 67 20 62 6f 78 27 | the dia|log box'|
|00001540| 73 20 62 75 74 74 6f 6e | 73 2e 0a 20 20 20 45 61 |s button|s.. Ea|
|00001550| 63 68 20 6f 6e 65 20 69 | 73 20 61 20 76 65 63 74 |ch one i|s a vect|
|00001560| 6f 72 20 6f 66 20 74 68 | 72 65 65 20 65 6c 65 6d |or of th|ree elem|
|00001570| 65 6e 74 73 3a 0a 20 20 | 20 2d 20 54 68 65 20 66 |ents:. | - The f|
|00001580| 69 72 73 74 20 65 6c 65 | 6d 65 6e 74 20 69 73 20 |irst ele|ment is |
|00001590| 74 68 65 20 74 65 78 74 | 20 6f 66 20 74 68 65 20 |the text| of the |
|000015a0| 62 75 74 74 6f 6e 2e 0a | 20 20 20 2d 20 54 68 65 |button..| - The|
|000015b0| 20 73 65 63 6f 6e 64 20 | 65 6c 65 6d 65 6e 74 20 | second |element |
|000015c0| 69 73 20 74 68 65 20 60 | 63 61 6c 6c 62 61 63 6b |is the `|callback|
|000015d0| 27 2e 0a 20 20 20 2d 20 | 54 68 65 20 74 68 69 72 |'.. - |The thir|
|000015e0| 64 20 65 6c 65 6d 65 6e | 74 20 69 73 20 74 20 6f |d elemen|t is t o|
|000015f0| 72 20 6e 69 6c 2c 20 77 | 68 65 74 68 65 72 20 74 |r nil, w|hether t|
|00001600| 68 69 73 20 62 75 74 74 | 6f 6e 20 69 73 20 73 65 |his butt|on is se|
|00001610| 6c 65 63 74 61 62 6c 65 | 2e 0a 0a 49 66 20 74 68 |lectable|...If th|
|00001620| 65 20 60 63 61 6c 6c 62 | 61 63 6b 27 20 6f 66 20 |e `callb|ack' of |
|00001630| 61 20 62 75 74 74 6f 6e | 20 69 73 20 61 20 73 79 |a button| is a sy|
|00001640| 6d 62 6f 6c 2c 20 74 68 | 65 6e 20 69 74 20 6d 75 |mbol, th|en it mu|
|00001650| 73 74 20 6e 61 6d 65 20 | 61 20 63 6f 6d 6d 61 6e |st name |a comman|
|00001660| 64 2e 0a 49 74 20 77 69 | 6c 6c 20 62 65 20 69 6e |d..It wi|ll be in|
|00001670| 76 6f 6b 65 64 20 77 69 | 74 68 20 60 63 61 6c 6c |voked wi|th `call|
|00001680| 2d 69 6e 74 65 72 61 63 | 74 69 76 65 6c 79 27 2e |-interac|tively'.|
|00001690| 20 20 49 66 20 69 74 20 | 69 73 20 61 20 6c 69 73 | If it |is a lis|
|000016a0| 74 2c 20 74 68 65 6e 20 | 69 74 20 69 73 0a 65 76 |t, then |it is.ev|
|000016b0| 61 6c 75 61 74 65 64 20 | 77 69 74 68 20 60 65 76 |aluated |with `ev|
|000016c0| 61 6c 27 2e 0a 0a 4f 6e | 65 20 28 61 6e 64 20 6f |al'...On|e (and o|
|000016d0| 6e 6c 79 20 6f 6e 65 29 | 20 6f 66 20 74 68 65 20 |nly one)| of the |
|000016e0| 62 75 74 74 6f 6e 73 20 | 6d 61 79 20 62 65 20 60 |buttons |may be `|
|000016f0| 6e 69 6c 27 2e 20 20 54 | 68 69 73 20 6d 61 72 6b |nil'. T|his mark|
|00001700| 65 72 20 6d 65 61 6e 73 | 20 74 68 61 74 20 61 6c |er means| that al|
|00001710| 6c 0a 66 6f 6c 6c 6f 77 | 69 6e 67 20 62 75 74 74 |l.follow|ing butt|
|00001720| 6f 6e 73 20 73 68 6f 75 | 6c 64 20 62 65 20 66 6c |ons shou|ld be fl|
|00001730| 75 73 68 72 69 67 68 74 | 20 69 6e 73 74 65 61 64 |ushright| instead|
|00001740| 20 6f 66 20 66 6c 75 73 | 68 6c 65 66 74 2e 0a 0a | of flus|hleft...|
|00001750| 54 68 65 20 73 79 6e 74 | 61 78 2c 20 6d 6f 72 65 |The synt|ax, more|
|00001760| 20 70 72 65 63 69 73 65 | 6c 79 3a 0a 0a 20 20 20 | precise|ly:.. |
|00001770| 66 6f 72 6d 09 09 3a 3d | 20 20 3c 73 6f 6d 65 74 |form..:=| <somet|
|00001780| 68 69 6e 67 20 74 6f 20 | 70 61 73 73 20 74 6f 20 |hing to |pass to |
|00001790| 60 65 76 61 6c 27 3e 0a | 20 20 20 63 6f 6d 6d 61 |`eval'>.| comma|
|000017a0| 6e 64 09 3a 3d 20 20 3c | 61 20 73 79 6d 62 6f 6c |nd.:= <|a symbol|
|000017b0| 20 6f 72 20 73 74 72 69 | 6e 67 2c 20 74 6f 20 70 | or stri|ng, to p|
|000017c0| 61 73 73 20 74 6f 20 60 | 63 61 6c 6c 2d 69 6e 74 |ass to `|call-int|
|000017d0| 65 72 61 63 74 69 76 65 | 6c 79 27 3e 0a 20 20 20 |eractive|ly'>. |
|000017e0| 63 61 6c 6c 62 61 63 6b | 20 09 3a 3d 20 20 63 6f |callback| .:= co|
|000017f0| 6d 6d 61 6e 64 20 7c 20 | 66 6f 72 6d 0a 20 20 20 |mmand | |form. |
|00001800| 61 63 74 69 76 65 2d 70 | 09 3a 3d 20 20 3c 74 2c |active-p|.:= <t,|
|00001810| 20 6e 69 6c 2c 20 6f 72 | 20 61 20 66 6f 72 6d 20 | nil, or| a form |
|00001820| 74 6f 20 65 76 61 6c 75 | 61 74 65 20 74 6f 20 64 |to evalu|ate to d|
|00001830| 65 63 69 64 65 20 77 68 | 65 74 68 65 72 20 74 68 |ecide wh|ether th|
|00001840| 69 73 0a 09 09 20 20 20 | 20 62 75 74 74 6f 6e 20 |is... | button |
|00001850| 73 68 6f 75 6c 64 20 62 | 65 20 73 65 6c 65 63 74 |should b|e select|
|00001860| 61 62 6c 65 3e 0a 20 20 | 20 6e 61 6d 65 09 09 3a |able>. | name..:|
|00001870| 3d 20 20 3c 73 74 72 69 | 6e 67 3e 0a 20 20 20 70 |= <stri|ng>. p|
|00001880| 61 72 74 69 74 69 6f 6e | 09 3a 3d 20 20 27 6e 69 |artition|.:= 'ni|
|00001890| 6c 27 0a 20 20 20 62 75 | 74 74 6f 6e 09 3a 3d 20 |l'. bu|tton.:= |
|000018a0| 20 27 5b 27 20 20 6e 61 | 6d 65 20 63 61 6c 6c 62 | '[' na|me callb|
|000018b0| 61 63 6b 20 61 63 74 69 | 76 65 2d 70 20 27 5d 27 |ack acti|ve-p ']'|
|000018c0| 0a 20 20 20 64 69 61 6c | 6f 67 09 3a 3d 20 20 27 |. dial|og.:= '|
|000018d0| 28 27 20 6e 61 6d 65 20 | 5b 20 62 75 74 74 6f 6e |(' name |[ button|
|000018e0| 20 5d 2b 20 5b 20 70 61 | 72 74 69 74 69 6f 6e 20 | ]+ [ pa|rtition |
|000018f0| 5b 20 62 75 74 74 6f 6e | 20 5d 2b 20 5d 20 27 29 |[ button| ]+ ] ')|
|00001900| 27 1f 0a 28 64 65 66 61 | 6c 69 61 73 20 27 70 6f |'..(defa|lias 'po|
|00001910| 70 75 70 2d 64 69 61 6c | 6f 67 2d 62 6f 78 20 23 |pup-dial|og-box #|
|00001920| 5b 28 64 61 74 61 29 20 | 22 08 40 08 41 c1 89 89 |[(data) |".@.A...|
|00001930| 1a 1b 1c 1d 1e 06 0d 83 | 49 00 0d 40 84 1d 00 c1 |........|I..@....|
|00001940| 5c 66 42 14 82 42 00 0d | 40 c7 48 0d 40 c8 48 0d |\fB..B..|@.H.@.H.|
|00001950| 40 c9 48 1e 5c 6e 1e 0b | 1e 5c 66 0e 5c 6e 83 3c |@.H.\n..|.\f.\n.<|
|00001960| 00 0e 5c 66 0e 0b 42 82 | 3e 00 0e 5c 66 5c 66 42 |..\f..B.|>..\f\fB|
|00001970| 14 2b 0d 41 89 15 84 11 | 00 cd ce 0e 06 5c 66 9f |.+.A....|.....\f.|
|00001980| 42 5c 22 89 13 85 64 00 | 0b 39 83 61 00 cf 0b 21 |B\"...d.|.9.a...!|
|00001990| 82 64 00 d0 0b 21 2d 87 | 22 20 5b 64 61 74 61 20 |.d...!-.|" [data |
|000019a0| 6e 69 6c 20 6d 65 61 6e | 69 6e 67 20 63 68 6f 69 |nil mean|ing choi|
|000019b0| 63 65 20 63 6f 6e 76 65 | 72 74 65 64 20 74 61 69 |ce conve|rted tai|
|000019c0| 6c 20 6e 61 6d 65 20 30 | 20 31 20 32 20 65 6e 61 |l name 0| 1 2 ena|
|000019d0| 62 6c 65 20 63 61 6c 6c | 62 61 63 6b 20 69 74 65 |ble call|back ite|
|000019e0| 6d 20 78 2d 70 6f 70 75 | 70 2d 64 69 61 6c 6f 67 |m x-popu|p-dialog|
|000019f0| 20 74 20 63 61 6c 6c 2d | 69 6e 74 65 72 61 63 74 | t call-|interact|
|00001a00| 69 76 65 6c 79 20 65 76 | 61 6c 5d 20 36 20 28 23 |ively ev|al] 6 (#|
|00001a10| 24 20 2e 20 35 32 34 34 | 29 5d 29 0a 28 62 79 74 |$ . 5244|)]).(byt|
|00001a20| 65 2d 63 6f 64 65 20 22 | c0 11 c1 5c 6e 42 12 c0 |e-code "|...\nB..|
|00001a30| 87 22 20 5b 6e 69 6c 20 | 64 65 66 61 75 6c 74 2d |." [nil |default-|
|00001a40| 6d 65 6e 75 62 61 72 20 | 63 75 72 72 65 6e 74 2d |menubar |current-|
|00001a50| 6c 6f 61 64 2d 6c 69 73 | 74 5d 20 32 29 0a 23 40 |load-lis|t] 2).#@|
|00001a60| 34 30 20 53 65 74 20 74 | 68 65 20 64 65 66 61 75 |40 Set t|he defau|
|00001a70| 6c 74 20 6d 65 6e 75 62 | 61 72 20 74 6f 20 62 65 |lt menub|ar to be|
|00001a80| 20 6d 65 6e 75 62 61 72 | 2e 1f 0a 28 64 65 66 61 | menubar|...(defa|
|00001a90| 6c 69 61 73 20 27 73 65 | 74 2d 6d 65 6e 75 62 61 |lias 'se|t-menuba|
|00001aa0| 72 20 23 5b 28 6d 65 6e | 75 62 61 72 29 20 22 c0 |r #[(men|ubar) ".|
|00001ab0| c1 c2 0b 21 5c 22 88 c4 | 20 87 22 20 5b 73 65 74 |...!\"..| ." [set|
|00001ac0| 2d 64 65 66 61 75 6c 74 | 20 63 75 72 72 65 6e 74 |-default| current|
|00001ad0| 2d 6d 65 6e 75 62 61 72 | 20 63 6f 70 79 2d 73 65 |-menubar| copy-se|
|00001ae0| 71 75 65 6e 63 65 20 6d | 65 6e 75 62 61 72 20 73 |quence m|enubar s|
|00001af0| 65 74 2d 6d 65 6e 75 62 | 61 72 2d 64 69 72 74 79 |et-menub|ar-dirty|
|00001b00| 2d 66 6c 61 67 5d 20 34 | 20 28 23 24 20 2e 20 36 |-flag] 4| (#$ . 6|
|00001b10| 37 35 35 29 5d 29 0a 23 | 40 34 35 20 53 65 74 20 |755)]).#|@45 Set |
|00001b20| 74 68 65 20 62 75 66 66 | 65 72 2d 6c 6f 63 61 6c |the buff|er-local|
|00001b30| 20 6d 65 6e 75 62 61 72 | 20 74 6f 20 62 65 20 6d | menubar| to be m|
|00001b40| 65 6e 75 62 61 72 2e 1f | 0a 28 64 65 66 61 6c 69 |enubar..|.(defali|
|00001b50| 61 73 20 27 73 65 74 2d | 62 75 66 66 65 72 2d 6d |as 'set-|buffer-m|
|00001b60| 65 6e 75 62 61 72 20 23 | 5b 28 6d 65 6e 75 62 61 |enubar #|[(menuba|
|00001b70| 72 29 20 22 c0 c1 21 88 | c2 0b 21 11 c4 20 87 22 |r) "..!.|..!.. ."|
|00001b80| 20 5b 6d 61 6b 65 2d 6c | 6f 63 61 6c 2d 76 61 72 | [make-l|ocal-var|
|00001b90| 69 61 62 6c 65 20 63 75 | 72 72 65 6e 74 2d 6d 65 |iable cu|rrent-me|
|00001ba0| 6e 75 62 61 72 20 63 6f | 70 79 2d 73 65 71 75 65 |nubar co|py-seque|
|00001bb0| 6e 63 65 20 6d 65 6e 75 | 62 61 72 20 73 65 74 2d |nce menu|bar set-|
|00001bc0| 6d 65 6e 75 62 61 72 2d | 64 69 72 74 79 2d 66 6c |menubar-|dirty-fl|
|00001bd0| 61 67 5d 20 32 20 28 23 | 24 20 2e 20 36 39 34 30 |ag] 2 (#|$ . 6940|
|00001be0| 29 5d 29 0a 23 40 31 37 | 37 20 53 65 61 72 63 68 |)]).#@17|7 Search|
|00001bf0| 65 73 20 4d 45 4e 55 42 | 41 52 20 66 6f 72 20 69 |es MENUB|AR for i|
|00001c00| 74 65 6d 20 67 69 76 65 | 6e 20 62 79 20 49 54 45 |tem give|n by ITE|
|00001c10| 4d 2d 50 41 54 48 2d 4c | 49 53 54 2e 0a 52 65 74 |M-PATH-L|IST..Ret|
|00001c20| 75 72 6e 73 20 28 49 54 | 45 4d 20 2e 20 50 41 52 |urns (IT|EM . PAR|
|00001c30| 45 4e 54 29 2c 20 77 68 | 65 72 65 20 50 41 52 45 |ENT), wh|ere PARE|
|00001c40| 4e 54 20 69 73 20 74 68 | 65 20 69 6d 6d 65 64 69 |NT is th|e immedi|
|00001c50| 61 74 65 20 70 61 72 65 | 6e 74 20 6f 66 0a 20 74 |ate pare|nt of. t|
|00001c60| 68 65 20 69 74 65 6d 20 | 66 6f 75 6e 64 2e 0a 53 |he item |found..S|
|00001c70| 69 67 6e 61 6c 73 20 61 | 6e 20 65 72 72 6f 72 20 |ignals a|n error |
|00001c80| 69 66 20 74 68 65 20 69 | 74 65 6d 20 69 73 20 6e |if the i|tem is n|
|00001c90| 6f 74 20 66 6f 75 6e 64 | 2e 1f 0a 28 64 65 66 61 |ot found|...(defa|
|00001ca0| 6c 69 61 73 20 27 66 69 | 6e 64 2d 6d 65 6e 75 2d |lias 'fi|nd-menu-|
|00001cb0| 69 74 65 6d 20 23 5b 28 | 6d 65 6e 75 62 61 72 20 |item #[(|menubar |
|00001cc0| 69 74 65 6d 2d 70 61 74 | 68 2d 6c 69 73 74 20 26 |item-pat|h-list &|
|00001cd0| 6f 70 74 69 6f 6e 61 6c | 20 70 61 72 65 6e 74 29 |optional| parent)|
|00001ce0| 20 22 08 84 09 00 c1 c2 | 0b 5c 22 13 5c 66 3a 85 | "......|.\".\f:.|
|00001cf0| 90 00 5c 66 c5 1e 06 89 | 1e 07 83 5b 00 0e 07 40 |..\f....|...[...@|
|00001d00| 83 52 00 0b 40 c8 0e 07 | 40 21 83 30 00 0e 07 40 |.R..@...|@!.0...@|
|00001d10| c9 48 82 41 00 0e 07 40 | 3b 83 3d 00 0e 07 40 82 |.H.A...@|;.=...@.|
|00001d20| 41 00 0e 07 40 40 97 9a | 83 52 00 0e 07 40 16 06 |A...@@..|.R...@..|
|00001d30| c5 89 16 07 82 15 00 0e | 07 41 89 16 07 84 18 00 |........|.A......|
|00001d40| 0b 41 83 8b 00 0e 06 3a | 83 72 00 ca 0e 06 41 0b |.A.....:|.r....A.|
|00001d50| 41 0e 06 23 82 8f 00 0e | 06 83 81 00 cb cc cd 0e |A..#....|........|
|00001d60| 06 44 5c 22 82 8f 00 cb | cc ce 0b 40 44 5c 22 82 |.D\"....|...@D\".|
|00001d70| 8f 00 0e 06 08 42 2a 87 | 22 20 5b 70 61 72 65 6e |.....B*.|" [paren|
|00001d80| 74 20 6d 61 70 63 61 72 | 20 64 6f 77 6e 63 61 73 |t mapcar| downcas|
|00001d90| 65 20 69 74 65 6d 2d 70 | 61 74 68 2d 6c 69 73 74 |e item-p|ath-list|
|00001da0| 20 6d 65 6e 75 62 61 72 | 20 6e 69 6c 20 72 65 73 | menubar| nil res|
|00001db0| 75 6c 74 20 72 65 73 74 | 20 76 65 63 74 6f 72 70 |ult rest| vectorp|
|00001dc0| 20 30 20 66 69 6e 64 2d | 6d 65 6e 75 2d 69 74 65 | 0 find-|menu-ite|
|00001dd0| 6d 20 73 69 67 6e 61 6c | 20 65 72 72 6f 72 20 22 |m signal| error "|
|00001de0| 6e 6f 74 20 61 20 73 75 | 62 6d 65 6e 75 22 20 22 |not a su|bmenu" "|
|00001df0| 6e 6f 20 73 75 63 68 20 | 73 75 62 6d 65 6e 75 22 |no such |submenu"|
|00001e00| 5d 20 35 20 28 23 24 20 | 2e 20 37 31 34 36 29 5d |] 5 (#$ |. 7146)]|
|00001e10| 29 0a 23 40 33 31 32 20 | 4d 61 6b 65 20 74 68 65 |).#@312 |Make the|
|00001e20| 20 6e 61 6d 65 64 20 6d | 65 6e 75 20 69 74 65 6d | named m|enu item|
|00001e30| 20 62 65 20 75 6e 73 65 | 6c 65 63 74 61 62 6c 65 | be unse|lectable|
|00001e40| 2e 0a 50 41 54 48 20 69 | 73 20 61 20 6c 69 73 74 |..PATH i|s a list|
|00001e50| 20 6f 66 20 73 74 72 69 | 6e 67 73 20 77 68 69 63 | of stri|ngs whic|
|00001e60| 68 20 69 64 65 6e 74 69 | 66 79 20 74 68 65 20 70 |h identi|fy the p|
|00001e70| 6f 73 69 74 69 6f 6e 20 | 6f 66 20 74 68 65 20 6d |osition |of the m|
|00001e80| 65 6e 75 20 69 74 65 6d | 20 69 6e 0a 74 68 65 20 |enu item| in.the |
|00001e90| 6d 65 6e 75 20 68 69 65 | 72 61 72 63 68 79 2e 20 |menu hie|rarchy. |
|00001ea0| 20 28 22 46 69 6c 65 22 | 20 22 53 61 76 65 22 29 | ("File"| "Save")|
|00001eb0| 20 6d 65 61 6e 73 20 74 | 68 65 20 6d 65 6e 75 20 | means t|he menu |
|00001ec0| 69 74 65 6d 20 63 61 6c | 6c 65 64 20 22 53 61 76 |item cal|led "Sav|
|00001ed0| 65 22 0a 75 6e 64 65 72 | 20 74 68 65 20 74 6f 70 |e".under| the top|
|00001ee0| 6c 65 76 65 6c 20 22 46 | 69 6c 65 22 20 6d 65 6e |level "F|ile" men|
|00001ef0| 75 2e 20 20 28 22 4d 65 | 6e 75 22 20 22 46 6f 6f |u. ("Me|nu" "Foo|
|00001f00| 22 20 22 49 74 65 6d 22 | 29 20 6d 65 61 6e 73 20 |" "Item"|) means |
|00001f10| 74 68 65 0a 6d 65 6e 75 | 20 69 74 65 6d 20 63 61 |the.menu| item ca|
|00001f20| 6c 6c 65 64 20 22 49 74 | 65 6d 22 20 75 6e 64 65 |lled "It|em" unde|
|00001f30| 72 20 74 68 65 20 22 46 | 6f 6f 22 20 73 75 62 6d |r the "F|oo" subm|
|00001f40| 65 6e 75 20 6f 66 20 22 | 4d 65 6e 75 22 2e 1f 0a |enu of "|Menu"...|
|00001f50| 28 64 65 66 61 6c 69 61 | 73 20 27 64 69 73 61 62 |(defalia|s 'disab|
|00001f60| 6c 65 2d 6d 65 6e 75 2d | 69 74 65 6d 20 23 5b 28 |le-menu-|item #[(|
|00001f70| 70 61 74 68 29 20 22 08 | 19 c2 09 0b 5c 22 89 1c |path) ".|....\"..|
|00001f80| 40 1d 5c 66 41 1e 06 0d | 84 5c 22 00 c7 c8 0e 06 |@.\fA...|.\".....|
|00001f90| 83 1d 00 c9 82 1e 00 ca | 0b 44 5c 22 88 0d 3a 83 |........|.D\"..:.|
|00001fa0| 2b 00 c8 cb 21 88 0d cc | cd 49 88 ce 20 88 0d 2c |+...!...|.I.. ..,|
|00001fb0| 87 22 20 5b 63 75 72 72 | 65 6e 74 2d 6d 65 6e 75 |." [curr|ent-menu|
|00001fc0| 62 61 72 20 6d 65 6e 75 | 62 61 72 20 66 69 6e 64 |bar menu|bar find|
|00001fd0| 2d 6d 65 6e 75 2d 69 74 | 65 6d 20 70 61 74 68 20 |-menu-it|em path |
|00001fe0| 70 61 69 72 20 69 74 65 | 6d 20 6d 65 6e 75 20 73 |pair ite|m menu s|
|00001ff0| 69 67 6e 61 6c 20 65 72 | 72 6f 72 20 22 4e 6f 20 |ignal er|ror "No |
|00002000| 73 75 63 68 20 6d 65 6e | 75 20 69 74 65 6d 22 20 |such men|u item" |
|00002010| 22 4e 6f 20 73 75 63 68 | 20 6d 65 6e 75 22 20 22 |"No such| menu" "|
|00002020| 63 61 6e 27 74 20 64 69 | 73 61 62 6c 65 20 6d 65 |can't di|sable me|
|00002030| 6e 75 73 2c 20 6f 6e 6c | 79 20 6d 65 6e 75 20 69 |nus, onl|y menu i|
|00002040| 74 65 6d 73 22 20 32 20 | 6e 69 6c 20 73 65 74 2d |tems" 2 |nil set-|
|00002050| 6d 65 6e 75 62 61 72 2d | 64 69 72 74 79 2d 66 6c |menubar-|dirty-fl|
|00002060| 61 67 5d 20 35 20 28 23 | 24 20 2e 20 37 37 30 34 |ag] 5 (#|$ . 7704|
|00002070| 29 5d 29 0a 23 40 33 31 | 30 20 4d 61 6b 65 20 74 |)]).#@31|0 Make t|
|00002080| 68 65 20 6e 61 6d 65 64 | 20 6d 65 6e 75 20 69 74 |he named| menu it|
|00002090| 65 6d 20 62 65 20 73 65 | 6c 65 63 74 61 62 6c 65 |em be se|lectable|
|000020a0| 2e 0a 50 41 54 48 20 69 | 73 20 61 20 6c 69 73 74 |..PATH i|s a list|
|000020b0| 20 6f 66 20 73 74 72 69 | 6e 67 73 20 77 68 69 63 | of stri|ngs whic|
|000020c0| 68 20 69 64 65 6e 74 69 | 66 79 20 74 68 65 20 70 |h identi|fy the p|
|000020d0| 6f 73 69 74 69 6f 6e 20 | 6f 66 20 74 68 65 20 6d |osition |of the m|
|000020e0| 65 6e 75 20 69 74 65 6d | 20 69 6e 0a 74 68 65 20 |enu item| in.the |
|000020f0| 6d 65 6e 75 20 68 69 65 | 72 61 72 63 68 79 2e 20 |menu hie|rarchy. |
|00002100| 20 28 22 46 69 6c 65 22 | 20 22 53 61 76 65 22 29 | ("File"| "Save")|
|00002110| 20 6d 65 61 6e 73 20 74 | 68 65 20 6d 65 6e 75 20 | means t|he menu |
|00002120| 69 74 65 6d 20 63 61 6c | 6c 65 64 20 22 53 61 76 |item cal|led "Sav|
|00002130| 65 22 0a 75 6e 64 65 72 | 20 74 68 65 20 74 6f 70 |e".under| the top|
|00002140| 6c 65 76 65 6c 20 22 46 | 69 6c 65 22 20 6d 65 6e |level "F|ile" men|
|00002150| 75 2e 20 20 28 22 4d 65 | 6e 75 22 20 22 46 6f 6f |u. ("Me|nu" "Foo|
|00002160| 22 20 22 49 74 65 6d 22 | 29 20 6d 65 61 6e 73 20 |" "Item"|) means |
|00002170| 74 68 65 0a 6d 65 6e 75 | 20 69 74 65 6d 20 63 61 |the.menu| item ca|
|00002180| 6c 6c 65 64 20 22 49 74 | 65 6d 22 20 75 6e 64 65 |lled "It|em" unde|
|00002190| 72 20 74 68 65 20 22 46 | 6f 6f 22 20 73 75 62 6d |r the "F|oo" subm|
|000021a0| 65 6e 75 20 6f 66 20 22 | 4d 65 6e 75 22 2e 1f 0a |enu of "|Menu"...|
|000021b0| 28 64 65 66 61 6c 69 61 | 73 20 27 65 6e 61 62 6c |(defalia|s 'enabl|
|000021c0| 65 2d 6d 65 6e 75 2d 69 | 74 65 6d 20 23 5b 28 70 |e-menu-i|tem #[(p|
|000021d0| 61 74 68 29 20 22 08 19 | c2 09 0b 5c 22 89 1c 40 |ath) "..|...\"..@|
|000021e0| 1d 5c 66 41 1e 06 0d 84 | 5c 22 00 c7 c8 0e 06 83 |.\fA....|\"......|
|000021f0| 1d 00 c9 82 1e 00 ca 0b | 44 5c 22 88 0d 3a 83 2c |........|D\"..:.,|
|00002200| 00 c8 cb 0b 5c 22 88 0d | cc cd 49 88 ce 20 88 0d |....\"..|..I.. ..|
|00002210| 2c 87 22 20 5b 63 75 72 | 72 65 6e 74 2d 6d 65 6e |,." [cur|rent-men|
|00002220| 75 62 61 72 20 6d 65 6e | 75 62 61 72 20 66 69 6e |ubar men|ubar fin|
|00002230| 64 2d 6d 65 6e 75 2d 69 | 74 65 6d 20 70 61 74 68 |d-menu-i|tem path|
|00002240| 20 70 61 69 72 20 69 74 | 65 6d 20 6d 65 6e 75 20 | pair it|em menu |
|00002250| 73 69 67 6e 61 6c 20 65 | 72 72 6f 72 20 22 4e 6f |signal e|rror "No|
|00002260| 20 73 75 63 68 20 6d 65 | 6e 75 20 69 74 65 6d 22 | such me|nu item"|
|00002270| 20 22 4e 6f 20 73 75 63 | 68 20 6d 65 6e 75 22 20 | "No suc|h menu" |
|00002280| 22 25 53 20 69 73 20 61 | 20 6d 65 6e 75 2c 20 6e |"%S is a| menu, n|
|00002290| 6f 74 20 61 20 6d 65 6e | 75 20 69 74 65 6d 22 20 |ot a men|u item" |
|000022a0| 32 20 74 20 73 65 74 2d | 6d 65 6e 75 62 61 72 2d |2 t set-|menubar-|
|000022b0| 64 69 72 74 79 2d 66 6c | 61 67 5d 20 35 20 28 23 |dirty-fl|ag] 5 (#|
|000022c0| 24 20 2e 20 38 33 31 34 | 29 5d 29 0a 28 64 65 66 |$ . 8314|)]).(def|
|000022d0| 61 6c 69 61 73 20 27 61 | 64 64 2d 6d 65 6e 75 2d |alias 'a|dd-menu-|
|000022e0| 69 74 65 6d 2d 31 20 23 | 5b 28 69 74 65 6d 2d 70 |item-1 #|[(item-p|
|000022f0| 20 6d 65 6e 75 2d 70 61 | 74 68 20 69 74 65 6d 2d | menu-pa|th item-|
|00002300| 6e 61 6d 65 20 69 74 65 | 6d 2d 64 61 74 61 20 65 |name ite|m-data e|
|00002310| 6e 61 62 6c 65 64 2d 70 | 20 62 65 66 6f 72 65 29 |nabled-p| before)|
|00002320| 20 22 08 83 07 00 08 97 | 10 09 1a c3 c4 c5 8f 89 | "......|........|
|00002330| 1e 06 3c 83 20 00 c7 0e | 06 41 0e 08 43 5c 22 40 |..<. ...|.A..C\"@|
|00002340| 82 27 00 c9 ca cb 0e 5c | 66 44 5c 22 1e 0d 0e 06 |.'.....\|fD\"....|
|00002350| 84 9d 00 0e 5c 66 5c 6e | 1e 0e 89 1e 0f 83 9c 00 |....\f\n|........|
|00002360| 0e 0e 5c 6e 3d 83 4c 00 | c7 0e 0e 0e 0f 40 43 5c |..\n=.L.|.....@C\|
|00002370| 22 40 82 56 00 c7 0e 0e | 41 0e 0f 40 43 5c 22 40 |"@.V....|A..@C\"@|
|00002380| 89 16 06 84 8f 00 0e 0e | 89 1e 10 84 68 00 ca d1 |........|....h...|
|00002390| 21 88 0e 10 41 83 7e 00 | 0e 10 41 40 83 7e 00 0e |!...A.~.|..A@.~..|
|000023a0| 10 41 89 16 10 82 6a 00 | 0e 10 0e 0f 40 43 89 16 |.A....j.|....@C..|
|000023b0| 06 43 0e 10 41 a4 a1 88 | 29 0e 06 16 0e 0e 0f 41 |.C..A...|)......A|
|000023c0| 89 16 0f 84 39 00 2a 0e | 06 84 a5 00 5c 6e 16 06 |....9.*.|....\n..|
|000023d0| 0e 0d 84 28 01 0e 12 83 | bc 00 d3 0e 08 0e 14 0e |...(....|........|
|000023e0| 15 23 16 0d 82 c3 00 0e | 08 0e 14 42 16 0d 08 83 |.#......|...B....|
|000023f0| cf 00 c7 0e 06 08 43 5c | 22 40 10 0e 06 c3 1e 16 |......C\|"@......|
|00002400| 1e 0f 0e 0f 83 00 01 08 | 0e 0f 41 40 3d 83 f7 00 |........|..A@=...|
|00002410| 0e 0f 0e 0d 0e 0f 41 42 | a1 88 c3 16 0f d7 16 16 |......AB|........|
|00002420| 82 d6 00 0e 0f 41 89 16 | 0f 84 db 00 0e 16 84 27 |.....A..|.......'|
|00002430| 01 0e 06 5c 6e 3d 83 20 | 01 08 0e 06 40 3d 83 20 |...\n=. |....@=. |
|00002440| 01 0e 0d 0e 06 42 89 16 | 06 11 82 27 01 0e 06 0e |.....B..|...'....|
|00002450| 0d 43 a4 88 2a 0e 12 83 | 40 01 0e 0d d8 0e 14 49 |.C..*...|@......I|
|00002460| 88 0e 0d d9 0e 15 3f 3f | 49 88 82 4c 01 0e 0d 0e |......??|I..L....|
|00002470| 08 a0 88 0e 0d 0e 14 a1 | 88 da 20 88 0e 0d 2b 87 |........|.. ...+.|
|00002480| 22 20 5b 62 65 66 6f 72 | 65 20 63 75 72 72 65 6e |" [befor|e curren|
|00002490| 74 2d 6d 65 6e 75 62 61 | 72 20 6d 65 6e 75 62 61 |t-menuba|r menuba|
|000024a0| 72 20 6e 69 6c 20 28 62 | 79 74 65 2d 63 6f 64 65 |r nil (b|yte-code|
|000024b0| 20 22 c0 09 5c 6e 5c 22 | 40 87 22 20 5b 66 69 6e | "..\n\"|@." [fin|
|000024c0| 64 2d 6d 65 6e 75 2d 69 | 74 65 6d 20 6d 65 6e 75 |d-menu-i|tem menu|
|000024d0| 62 61 72 20 6d 65 6e 75 | 2d 70 61 74 68 5d 20 33 |bar menu|-path] 3|
|000024e0| 29 20 28 28 65 72 72 6f | 72 29 29 20 6d 65 6e 75 |) ((erro|r)) menu|
|000024f0| 20 66 69 6e 64 2d 6d 65 | 6e 75 2d 69 74 65 6d 20 | find-me|nu-item |
|00002500| 69 74 65 6d 2d 6e 61 6d | 65 20 73 69 67 6e 61 6c |item-nam|e signal|
|00002510| 20 65 72 72 6f 72 20 22 | 6e 6f 74 20 61 20 73 75 | error "|not a su|
|00002520| 62 6d 65 6e 75 22 20 6d | 65 6e 75 2d 70 61 74 68 |bmenu" m|enu-path|
|00002530| 20 69 74 65 6d 20 73 6f | 2d 66 61 72 20 72 65 73 | item so|-far res|
|00002540| 74 20 72 65 73 74 32 20 | 22 54 72 79 69 6e 67 20 |t rest2 |"Trying |
|00002550| 74 6f 20 6d 6f 64 69 66 | 79 20 61 20 6d 65 6e 75 |to modif|y a menu|
|00002560| 20 74 68 61 74 20 64 6f | 65 73 6e 27 74 20 65 78 | that do|esn't ex|
|00002570| 69 73 74 22 20 69 74 65 | 6d 2d 70 20 76 65 63 74 |ist" ite|m-p vect|
|00002580| 6f 72 20 69 74 65 6d 2d | 64 61 74 61 20 65 6e 61 |or item-|data ena|
|00002590| 62 6c 65 64 2d 70 20 61 | 64 64 65 64 2d 62 65 66 |bled-p a|dded-bef|
|000025a0| 6f 72 65 20 74 20 31 20 | 32 20 73 65 74 2d 6d 65 |ore t 1 |2 set-me|
|000025b0| 6e 75 62 61 72 2d 64 69 | 72 74 79 2d 66 6c 61 67 |nubar-di|rty-flag|
|000025c0| 5d 20 35 5d 29 0a 23 40 | 38 38 34 20 41 64 64 20 |] 5]).#@|884 Add |
|000025d0| 61 20 6d 65 6e 75 20 69 | 74 65 6d 20 74 6f 20 73 |a menu i|tem to s|
|000025e0| 6f 6d 65 20 6d 65 6e 75 | 2c 20 63 72 65 61 74 69 |ome menu|, creati|
|000025f0| 6e 67 20 74 68 65 20 6d | 65 6e 75 20 66 69 72 73 |ng the m|enu firs|
|00002600| 74 20 69 66 20 6e 65 63 | 65 73 73 61 72 79 2e 0a |t if nec|essary..|
|00002610| 49 66 20 74 68 65 20 6e | 61 6d 65 64 20 69 74 65 |If the n|amed ite|
|00002620| 6d 20 65 78 69 73 74 73 | 20 61 6c 72 65 61 64 79 |m exists| already|
|00002630| 2c 20 69 74 20 69 73 20 | 63 68 61 6e 67 65 64 2e |, it is |changed.|
|00002640| 0a 4d 45 4e 55 2d 50 41 | 54 48 20 69 64 65 6e 74 |.MENU-PA|TH ident|
|00002650| 69 66 69 65 73 20 74 68 | 65 20 6d 65 6e 75 20 75 |ifies th|e menu u|
|00002660| 6e 64 65 72 20 77 68 69 | 63 68 20 74 68 65 20 6e |nder whi|ch the n|
|00002670| 65 77 20 6d 65 6e 75 20 | 69 74 65 6d 20 73 68 6f |ew menu |item sho|
|00002680| 75 6c 64 20 62 65 20 69 | 6e 73 65 72 74 65 64 2e |uld be i|nserted.|
|00002690| 0a 20 49 74 20 69 73 20 | 61 20 6c 69 73 74 20 6f |. It is |a list o|
|000026a0| 66 20 73 74 72 69 6e 67 | 73 3b 20 66 6f 72 20 65 |f string|s; for e|
|000026b0| 78 61 6d 70 6c 65 2c 20 | 28 22 46 69 6c 65 22 29 |xample, |("File")|
|000026c0| 20 6e 61 6d 65 73 20 74 | 68 65 20 74 6f 70 2d 6c | names t|he top-l|
|000026d0| 65 76 65 6c 20 22 46 69 | 6c 65 22 0a 20 6d 65 6e |evel "Fi|le". men|
|000026e0| 75 2e 20 20 28 22 46 69 | 6c 65 22 20 22 46 6f 6f |u. ("Fi|le" "Foo|
|000026f0| 22 29 20 6e 61 6d 65 73 | 20 61 20 68 79 70 6f 74 |") names| a hypot|
|00002700| 68 65 74 69 63 61 6c 20 | 73 75 62 6d 65 6e 75 20 |hetical |submenu |
|00002710| 6f 66 20 22 46 69 6c 65 | 22 2e 0a 49 54 45 4d 2d |of "File|"..ITEM-|
|00002720| 4e 41 4d 45 20 69 73 20 | 74 68 65 20 73 74 72 69 |NAME is |the stri|
|00002730| 6e 67 20 6e 61 6d 69 6e | 67 20 74 68 65 20 6d 65 |ng namin|g the me|
|00002740| 6e 75 20 69 74 65 6d 20 | 74 6f 20 62 65 20 61 64 |nu item |to be ad|
|00002750| 64 65 64 2e 0a 46 55 4e | 43 54 49 4f 4e 20 69 73 |ded..FUN|CTION is|
|00002760| 20 74 68 65 20 63 6f 6d | 6d 61 6e 64 20 74 6f 20 | the com|mand to |
|00002770| 69 6e 76 6f 6b 65 20 77 | 68 65 6e 20 74 68 69 73 |invoke w|hen this|
|00002780| 20 6d 65 6e 75 20 69 74 | 65 6d 20 69 73 20 73 65 | menu it|em is se|
|00002790| 6c 65 63 74 65 64 2e 0a | 20 49 66 20 69 74 20 69 |lected..| If it i|
|000027a0| 73 20 61 20 73 79 6d 62 | 6f 6c 2c 20 74 68 65 6e |s a symb|ol, then|
|000027b0| 20 69 74 20 69 73 20 69 | 6e 76 6f 6b 65 64 20 77 | it is i|nvoked w|
|000027c0| 69 74 68 20 60 63 61 6c | 6c 2d 69 6e 74 65 72 61 |ith `cal|l-intera|
|000027d0| 63 74 69 76 65 6c 79 27 | 2c 20 69 6e 20 74 68 65 |ctively'|, in the|
|000027e0| 20 73 61 6d 65 0a 20 77 | 61 79 20 74 68 61 74 20 | same. w|ay that |
|000027f0| 66 75 6e 63 74 69 6f 6e | 73 20 62 6f 75 6e 64 20 |function|s bound |
|00002800| 74 6f 20 6b 65 79 73 20 | 61 72 65 20 69 6e 76 6f |to keys |are invo|
|00002810| 6b 65 64 2e 20 20 49 66 | 20 69 74 20 69 73 20 61 |ked. If| it is a|
|00002820| 20 6c 69 73 74 2c 20 74 | 68 65 6e 20 74 68 65 0a | list, t|hen the.|
|00002830| 20 6c 69 73 74 20 69 73 | 20 73 69 6d 70 6c 79 20 | list is| simply |
|00002840| 65 76 61 6c 75 61 74 65 | 64 2e 0a 45 4e 41 42 4c |evaluate|d..ENABL|
|00002850| 45 44 2d 50 20 63 6f 6e | 74 72 6f 6c 73 20 77 68 |ED-P con|trols wh|
|00002860| 65 74 68 65 72 20 74 68 | 65 20 69 74 65 6d 20 69 |ether th|e item i|
|00002870| 73 20 73 65 6c 65 63 74 | 61 62 6c 65 20 6f 72 20 |s select|able or |
|00002880| 6e 6f 74 2e 0a 42 45 46 | 4f 52 45 2c 20 69 66 20 |not..BEF|ORE, if |
|00002890| 70 72 6f 76 69 64 65 64 | 2c 20 69 73 20 74 68 65 |provided|, is the|
|000028a0| 20 6e 61 6d 65 20 6f 66 | 20 61 20 6d 65 6e 75 20 | name of| a menu |
|000028b0| 69 74 65 6d 20 62 65 66 | 6f 72 65 20 77 68 69 63 |item bef|ore whic|
|000028c0| 68 20 74 68 69 73 20 69 | 74 65 6d 20 73 68 6f 75 |h this i|tem shou|
|000028d0| 6c 64 0a 20 62 65 20 61 | 64 64 65 64 2c 20 69 66 |ld. be a|dded, if|
|000028e0| 20 74 68 69 73 20 69 74 | 65 6d 20 69 73 20 6e 6f | this it|em is no|
|000028f0| 74 20 6f 6e 20 74 68 65 | 20 6d 65 6e 75 20 61 6c |t on the| menu al|
|00002900| 72 65 61 64 79 2e 20 20 | 49 66 20 74 68 65 20 69 |ready. |If the i|
|00002910| 74 65 6d 20 69 73 20 61 | 6c 72 65 61 64 79 0a 20 |tem is a|lready. |
|00002920| 70 72 65 73 65 6e 74 2c | 20 69 74 20 77 69 6c 6c |present,| it will|
|00002930| 20 6e 6f 74 20 62 65 20 | 6d 6f 76 65 64 2e 1f 0a | not be |moved...|
|00002940| 28 64 65 66 61 6c 69 61 | 73 20 27 61 64 64 2d 6d |(defalia|s 'add-m|
|00002950| 65 6e 75 2d 69 74 65 6d | 20 23 5b 28 6d 65 6e 75 |enu-item| #[(menu|
|00002960| 2d 70 61 74 68 20 69 74 | 65 6d 2d 6e 61 6d 65 20 |-path it|em-name |
|00002970| 66 75 6e 63 74 69 6f 6e | 20 65 6e 61 62 6c 65 64 |function| enabled|
|00002980| 2d 70 20 26 6f 70 74 69 | 6f 6e 61 6c 20 62 65 66 |-p &opti|onal bef|
|00002990| 6f 72 65 29 20 22 08 84 | 08 00 c1 c2 21 88 0b 84 |ore) "..|....!...|
|000029a0| 10 00 c1 c4 21 88 c5 c6 | 08 0b 0e 07 0e 08 0e 09 |....!...|........|
|000029b0| 26 06 87 22 20 5b 6d 65 | 6e 75 2d 70 61 74 68 20 |&.." [me|nu-path |
|000029c0| 65 72 72 6f 72 20 22 6d | 75 73 74 20 73 70 65 63 |error "m|ust spec|
|000029d0| 69 66 79 20 61 20 6d 65 | 6e 75 20 70 61 74 68 22 |ify a me|nu path"|
|000029e0| 20 69 74 65 6d 2d 6e 61 | 6d 65 20 22 6d 75 73 74 | item-na|me "must|
|000029f0| 20 73 70 65 63 69 66 79 | 20 61 6e 20 69 74 65 6d | specify| an item|
|00002a00| 20 6e 61 6d 65 22 20 61 | 64 64 2d 6d 65 6e 75 2d | name" a|dd-menu-|
|00002a10| 69 74 65 6d 2d 31 20 74 | 20 66 75 6e 63 74 69 6f |item-1 t| functio|
|00002a20| 6e 20 65 6e 61 62 6c 65 | 64 2d 70 20 62 65 66 6f |n enable|d-p befo|
|00002a30| 72 65 5d 20 37 20 28 23 | 24 20 2e 20 39 36 37 36 |re] 7 (#|$ . 9676|
|00002a40| 29 5d 29 0a 23 40 33 32 | 32 20 52 65 6d 6f 76 65 |)]).#@32|2 Remove|
|00002a50| 20 74 68 65 20 6e 61 6d | 65 64 20 6d 65 6e 75 20 | the nam|ed menu |
|00002a60| 69 74 65 6d 20 66 72 6f | 6d 20 74 68 65 20 6d 65 |item fro|m the me|
|00002a70| 6e 75 20 68 69 65 72 61 | 72 63 68 79 2e 0a 50 41 |nu hiera|rchy..PA|
|00002a80| 54 48 20 69 73 20 61 20 | 6c 69 73 74 20 6f 66 20 |TH is a |list of |
|00002a90| 73 74 72 69 6e 67 73 20 | 77 68 69 63 68 20 69 64 |strings |which id|
|00002aa0| 65 6e 74 69 66 79 20 74 | 68 65 20 70 6f 73 69 74 |entify t|he posit|
|00002ab0| 69 6f 6e 20 6f 66 20 74 | 68 65 20 6d 65 6e 75 20 |ion of t|he menu |
|00002ac0| 69 74 65 6d 20 69 6e 0a | 74 68 65 20 6d 65 6e 75 |item in.|the menu|
|00002ad0| 20 68 69 65 72 61 72 63 | 68 79 2e 20 20 28 22 46 | hierarc|hy. ("F|
|00002ae0| 69 6c 65 22 20 22 53 61 | 76 65 22 29 20 6d 65 61 |ile" "Sa|ve") mea|
|00002af0| 6e 73 20 74 68 65 20 6d | 65 6e 75 20 69 74 65 6d |ns the m|enu item|
|00002b00| 20 63 61 6c 6c 65 64 20 | 22 53 61 76 65 22 0a 75 | called |"Save".u|
|00002b10| 6e 64 65 72 20 74 68 65 | 20 74 6f 70 6c 65 76 65 |nder the| topleve|
|00002b20| 6c 20 22 46 69 6c 65 22 | 20 6d 65 6e 75 2e 20 20 |l "File"| menu. |
|00002b30| 28 22 4d 65 6e 75 22 20 | 22 46 6f 6f 22 20 22 49 |("Menu" |"Foo" "I|
|00002b40| 74 65 6d 22 29 20 6d 65 | 61 6e 73 20 74 68 65 0a |tem") me|ans the.|
|00002b50| 6d 65 6e 75 20 69 74 65 | 6d 20 63 61 6c 6c 65 64 |menu ite|m called|
|00002b60| 20 22 49 74 65 6d 22 20 | 75 6e 64 65 72 20 74 68 | "Item" |under th|
|00002b70| 65 20 22 46 6f 6f 22 20 | 73 75 62 6d 65 6e 75 20 |e "Foo" |submenu |
|00002b80| 6f 66 20 22 4d 65 6e 75 | 22 2e 1f 0a 28 64 65 66 |of "Menu|"...(def|
|00002b90| 61 6c 69 61 73 20 27 64 | 65 6c 65 74 65 2d 6d 65 |alias 'd|elete-me|
|00002ba0| 6e 75 2d 69 74 65 6d 20 | 23 5b 28 70 61 74 68 29 |nu-item |#[(path)|
|00002bb0| 20 22 08 19 c2 09 0b 5c | 22 89 1c 40 1d 5c 66 41 | ".....\|"..@.\fA|
|00002bc0| 86 10 00 09 1e 06 0d 85 | 30 00 0e 06 08 3d 83 26 |........|0....=.&|
|00002bd0| 00 c7 0d 0e 06 5c 22 10 | 82 2c 00 c7 0d 0e 06 5c |.....\".|.,.....\|
|00002be0| 22 88 c8 20 88 0d 2c 87 | 22 20 5b 63 75 72 72 65 |".. ..,.|" [curre|
|00002bf0| 6e 74 2d 6d 65 6e 75 62 | 61 72 20 6d 65 6e 75 62 |nt-menub|ar menub|
|00002c00| 61 72 20 66 69 6e 64 2d | 6d 65 6e 75 2d 69 74 65 |ar find-|menu-ite|
|00002c10| 6d 20 70 61 74 68 20 70 | 61 69 72 20 69 74 65 6d |m path p|air item|
|00002c20| 20 6d 65 6e 75 20 64 65 | 6c 71 20 73 65 74 2d 6d | menu de|lq set-m|
|00002c30| 65 6e 75 62 61 72 2d 64 | 69 72 74 79 2d 66 6c 61 |enubar-d|irty-fla|
|00002c40| 67 5d 20 34 20 28 23 24 | 20 2e 20 31 30 38 32 36 |g] 4 (#$| . 10826|
|00002c50| 29 5d 29 0a 23 40 33 39 | 30 20 43 68 61 6e 67 65 |)]).#@39|0 Change|
|00002c60| 20 74 68 65 20 73 74 72 | 69 6e 67 20 6f 66 20 74 | the str|ing of t|
|00002c70| 68 65 20 73 70 65 63 69 | 66 69 65 64 20 6d 65 6e |he speci|fied men|
|00002c80| 75 20 69 74 65 6d 2e 0a | 50 41 54 48 20 69 73 20 |u item..|PATH is |
|00002c90| 61 20 6c 69 73 74 20 6f | 66 20 73 74 72 69 6e 67 |a list o|f string|
|00002ca0| 73 20 77 68 69 63 68 20 | 69 64 65 6e 74 69 66 79 |s which |identify|
|00002cb0| 20 74 68 65 20 70 6f 73 | 69 74 69 6f 6e 20 6f 66 | the pos|ition of|
|00002cc0| 20 74 68 65 20 6d 65 6e | 75 20 69 74 65 6d 20 69 | the men|u item i|
|00002cd0| 6e 0a 74 68 65 20 6d 65 | 6e 75 20 68 69 65 72 61 |n.the me|nu hiera|
|00002ce0| 72 63 68 79 2e 20 20 28 | 22 46 69 6c 65 22 20 22 |rchy. (|"File" "|
|00002cf0| 53 61 76 65 22 29 20 6d | 65 61 6e 73 20 74 68 65 |Save") m|eans the|
|00002d00| 20 6d 65 6e 75 20 69 74 | 65 6d 20 63 61 6c 6c 65 | menu it|em calle|
|00002d10| 64 20 22 53 61 76 65 22 | 0a 75 6e 64 65 72 20 74 |d "Save"|.under t|
|00002d20| 68 65 20 74 6f 70 6c 65 | 76 65 6c 20 22 46 69 6c |he tople|vel "Fil|
|00002d30| 65 22 20 6d 65 6e 75 2e | 20 20 28 22 4d 65 6e 75 |e" menu.| ("Menu|
|00002d40| 22 20 22 46 6f 6f 22 20 | 22 49 74 65 6d 22 29 20 |" "Foo" |"Item") |
|00002d50| 6d 65 61 6e 73 20 74 68 | 65 0a 6d 65 6e 75 20 69 |means th|e.menu i|
|00002d60| 74 65 6d 20 63 61 6c 6c | 65 64 20 22 49 74 65 6d |tem call|ed "Item|
|00002d70| 22 20 75 6e 64 65 72 20 | 74 68 65 20 22 46 6f 6f |" under |the "Foo|
|00002d80| 22 20 73 75 62 6d 65 6e | 75 20 6f 66 20 22 4d 65 |" submen|u of "Me|
|00002d90| 6e 75 22 2e 0a 4e 45 57 | 2d 4e 41 4d 45 20 69 73 |nu"..NEW|-NAME is|
|00002da0| 20 74 68 65 20 73 74 72 | 69 6e 67 20 74 68 61 74 | the str|ing that|
|00002db0| 20 74 68 65 20 6d 65 6e | 75 20 69 74 65 6d 20 77 | the men|u item w|
|00002dc0| 69 6c 6c 20 62 65 20 70 | 72 69 6e 74 65 64 20 61 |ill be p|rinted a|
|00002dd0| 73 20 66 72 6f 6d 20 6e | 6f 77 20 6f 6e 2e 1f 0a |s from n|ow on...|
|00002de0| 28 64 65 66 61 6c 69 61 | 73 20 27 72 65 6c 61 62 |(defalia|s 'relab|
|00002df0| 65 6c 2d 6d 65 6e 75 2d | 69 74 65 6d 20 23 5b 28 |el-menu-|item #[(|
|00002e00| 70 61 74 68 20 6e 65 77 | 2d 6e 61 6d 65 29 20 22 |path new|-name) "|
|00002e10| 08 3b 84 5c 66 00 c1 c2 | c3 08 44 5c 22 10 5c 66 |.;.\f...|..D\".\f|
|00002e20| 1d c6 0d 0e 07 5c 22 89 | 1e 08 40 1e 09 0e 08 41 |.....\".|..@....A|
|00002e30| 1e 5c 6e 0e 09 84 34 00 | c1 cb 0e 5c 6e 83 2e 00 |.\n...4.|...\n...|
|00002e40| cc 82 2f 00 cd 0e 07 44 | 5c 22 88 0e 09 3a 83 49 |../....D|\"...:.I|
|00002e50| 00 0e 09 40 3b 83 49 00 | 0e 09 08 a0 88 82 4f 00 |...@;.I.|......O.|
|00002e60| 0e 09 ce 08 49 88 cf 20 | 88 0e 09 2c 87 22 20 5b |....I.. |...,." [|
|00002e70| 6e 65 77 2d 6e 61 6d 65 | 20 73 69 67 6e 61 6c 20 |new-name| signal |
|00002e80| 77 72 6f 6e 67 2d 74 79 | 70 65 2d 61 72 67 75 6d |wrong-ty|pe-argum|
|00002e90| 65 6e 74 20 73 74 72 69 | 6e 67 70 20 63 75 72 72 |ent stri|ngp curr|
|00002ea0| 65 6e 74 2d 6d 65 6e 75 | 62 61 72 20 6d 65 6e 75 |ent-menu|bar menu|
|00002eb0| 62 61 72 20 66 69 6e 64 | 2d 6d 65 6e 75 2d 69 74 |bar find|-menu-it|
|00002ec0| 65 6d 20 70 61 74 68 20 | 70 61 69 72 20 69 74 65 |em path |pair ite|
|00002ed0| 6d 20 6d 65 6e 75 20 65 | 72 72 6f 72 20 22 4e 6f |m menu e|rror "No|
|00002ee0| 20 73 75 63 68 20 6d 65 | 6e 75 20 69 74 65 6d 22 | such me|nu item"|
|00002ef0| 20 22 4e 6f 20 73 75 63 | 68 20 6d 65 6e 75 22 20 | "No suc|h menu" |
|00002f00| 30 20 73 65 74 2d 6d 65 | 6e 75 62 61 72 2d 64 69 |0 set-me|nubar-di|
|00002f10| 72 74 79 2d 66 6c 61 67 | 5d 20 35 20 28 23 24 20 |rty-flag|] 5 (#$ |
|00002f20| 2e 20 31 31 33 35 34 29 | 5d 29 0a 23 40 38 39 33 |. 11354)|]).#@893|
|00002f30| 20 41 64 64 20 61 20 6d | 65 6e 75 20 74 6f 20 74 | Add a m|enu to t|
|00002f40| 68 65 20 6d 65 6e 75 62 | 61 72 20 6f 72 20 6f 6e |he menub|ar or on|
|00002f50| 65 20 6f 66 20 69 74 73 | 20 73 75 62 6d 65 6e 75 |e of its| submenu|
|00002f60| 73 2e 0a 49 66 20 74 68 | 65 20 6e 61 6d 65 64 20 |s..If th|e named |
|00002f70| 6d 65 6e 75 20 65 78 69 | 73 74 73 20 61 6c 72 65 |menu exi|sts alre|
|00002f80| 61 64 79 2c 20 69 74 20 | 69 73 20 63 68 61 6e 67 |ady, it |is chang|
|00002f90| 65 64 2e 0a 4d 45 4e 55 | 2d 50 41 54 48 20 69 64 |ed..MENU|-PATH id|
|00002fa0| 65 6e 74 69 66 69 65 73 | 20 74 68 65 20 6d 65 6e |entifies| the men|
|00002fb0| 75 20 75 6e 64 65 72 20 | 77 68 69 63 68 20 74 68 |u under |which th|
|00002fc0| 65 20 6e 65 77 20 6d 65 | 6e 75 20 73 68 6f 75 6c |e new me|nu shoul|
|00002fd0| 64 20 62 65 20 69 6e 73 | 65 72 74 65 64 2e 0a 20 |d be ins|erted.. |
|00002fe0| 49 74 20 69 73 20 61 20 | 6c 69 73 74 20 6f 66 20 |It is a |list of |
|00002ff0| 73 74 72 69 6e 67 73 3b | 20 66 6f 72 20 65 78 61 |strings;| for exa|
|00003000| 6d 70 6c 65 2c 20 28 22 | 46 69 6c 65 22 29 20 6e |mple, ("|File") n|
|00003010| 61 6d 65 73 20 74 68 65 | 20 74 6f 70 2d 6c 65 76 |ames the| top-lev|
|00003020| 65 6c 20 22 46 69 6c 65 | 22 0a 20 6d 65 6e 75 2e |el "File|". menu.|
|00003030| 20 20 28 22 46 69 6c 65 | 22 20 22 46 6f 6f 22 29 | ("File|" "Foo")|
|00003040| 20 6e 61 6d 65 73 20 61 | 20 68 79 70 6f 74 68 65 | names a| hypothe|
|00003050| 74 69 63 61 6c 20 73 75 | 62 6d 65 6e 75 20 6f 66 |tical su|bmenu of|
|00003060| 20 22 46 69 6c 65 22 2e | 0a 20 49 66 20 4d 45 4e | "File".|. If MEN|
|00003070| 55 2d 50 41 54 48 20 69 | 73 20 6e 69 6c 2c 20 74 |U-PATH i|s nil, t|
|00003080| 68 65 6e 20 74 68 65 20 | 6d 65 6e 75 20 77 69 6c |hen the |menu wil|
|00003090| 6c 20 62 65 20 61 64 64 | 65 64 20 74 6f 20 74 68 |l be add|ed to th|
|000030a0| 65 20 6d 65 6e 75 62 61 | 72 20 69 74 73 65 6c 66 |e menuba|r itself|
|000030b0| 2e 0a 4d 45 4e 55 2d 4e | 41 4d 45 20 69 73 20 74 |..MENU-N|AME is t|
|000030c0| 68 65 20 73 74 72 69 6e | 67 20 6e 61 6d 69 6e 67 |he strin|g naming|
|000030d0| 20 74 68 65 20 6d 65 6e | 75 20 74 6f 20 62 65 20 | the men|u to be |
|000030e0| 61 64 64 65 64 2e 0a 4d | 45 4e 55 2d 49 54 45 4d |added..M|ENU-ITEM|
|000030f0| 53 20 69 73 20 61 20 6c | 69 73 74 20 6f 66 20 6d |S is a l|ist of m|
|00003100| 65 6e 75 20 69 74 65 6d | 20 64 65 73 63 72 69 70 |enu item| descrip|
|00003110| 74 69 6f 6e 73 2e 0a 20 | 45 61 63 68 20 6d 65 6e |tions.. |Each men|
|00003120| 75 20 69 74 65 6d 20 73 | 68 6f 75 6c 64 20 62 65 |u item s|hould be|
|00003130| 20 61 20 76 65 63 74 6f | 72 20 6f 66 20 74 68 72 | a vecto|r of thr|
|00003140| 65 65 20 65 6c 65 6d 65 | 6e 74 73 3a 0a 20 20 20 |ee eleme|nts:. |
|00003150| 2d 20 61 20 73 74 72 69 | 6e 67 2c 20 74 68 65 20 |- a stri|ng, the |
|00003160| 6e 61 6d 65 20 6f 66 20 | 74 68 65 20 6d 65 6e 75 |name of |the menu|
|00003170| 20 69 74 65 6d 3b 0a 20 | 20 20 2d 20 61 20 73 79 | item;. | - a sy|
|00003180| 6d 62 6f 6c 20 6e 61 6d | 69 6e 67 20 61 20 63 6f |mbol nam|ing a co|
|00003190| 6d 6d 61 6e 64 2c 20 6f | 72 20 61 20 66 6f 72 6d |mmand, o|r a form|
|000031a0| 20 74 6f 20 65 76 61 6c | 75 61 74 65 3b 0a 20 20 | to eval|uate;. |
|000031b0| 20 2d 20 61 6e 64 20 61 | 20 66 6f 72 6d 20 77 68 | - and a| form wh|
|000031c0| 6f 73 65 20 76 61 6c 75 | 65 20 64 65 74 65 72 6d |ose valu|e determ|
|000031d0| 69 6e 65 73 20 77 68 65 | 74 68 65 72 20 74 68 69 |ines whe|ther thi|
|000031e0| 73 20 69 74 65 6d 20 69 | 73 20 73 65 6c 65 63 74 |s item i|s select|
|000031f0| 61 62 6c 65 2e 0a 42 45 | 46 4f 52 45 2c 20 69 66 |able..BE|FORE, if|
|00003200| 20 70 72 6f 76 69 64 65 | 64 2c 20 69 73 20 74 68 | provide|d, is th|
|00003210| 65 20 6e 61 6d 65 20 6f | 66 20 61 20 6d 65 6e 75 |e name o|f a menu|
|00003220| 20 62 65 66 6f 72 65 20 | 77 68 69 63 68 20 74 68 | before |which th|
|00003230| 69 73 20 6d 65 6e 75 20 | 73 68 6f 75 6c 64 0a 20 |is menu |should. |
|00003240| 62 65 20 61 64 64 65 64 | 2c 20 69 66 20 74 68 69 |be added|, if thi|
|00003250| 73 20 6d 65 6e 75 20 69 | 73 20 6e 6f 74 20 6f 6e |s menu i|s not on|
|00003260| 20 69 74 73 20 70 61 72 | 65 6e 74 20 61 6c 72 65 | its par|ent alre|
|00003270| 61 64 79 2e 20 20 49 66 | 20 74 68 65 20 6d 65 6e |ady. If| the men|
|00003280| 75 20 69 73 20 61 6c 72 | 65 61 64 79 0a 20 70 72 |u is alr|eady. pr|
|00003290| 65 73 65 6e 74 2c 20 69 | 74 20 77 69 6c 6c 20 6e |esent, i|t will n|
|000032a0| 6f 74 20 62 65 20 6d 6f | 76 65 64 2e 1f 0a 28 64 |ot be mo|ved...(d|
|000032b0| 65 66 61 6c 69 61 73 20 | 27 61 64 64 2d 6d 65 6e |efalias |'add-men|
|000032c0| 75 20 23 5b 28 6d 65 6e | 75 2d 70 61 74 68 20 6d |u #[(men|u-path m|
|000032d0| 65 6e 75 2d 6e 61 6d 65 | 20 6d 65 6e 75 2d 69 74 |enu-name| menu-it|
|000032e0| 65 6d 73 20 26 6f 70 74 | 69 6f 6e 61 6c 20 62 65 |ems &opt|ional be|
|000032f0| 66 6f 72 65 29 20 22 08 | 84 08 00 c1 c2 21 88 0b |fore) ".|.....!..|
|00003300| 84 10 00 c1 c4 21 88 c5 | c6 0e 07 08 0b c8 0e 09 |.....!..|........|
|00003310| 26 06 87 22 20 5b 6d 65 | 6e 75 2d 6e 61 6d 65 20 |&.." [me|nu-name |
|00003320| 65 72 72 6f 72 20 22 6d | 75 73 74 20 73 70 65 63 |error "m|ust spec|
|00003330| 69 66 79 20 61 20 6d 65 | 6e 75 20 6e 61 6d 65 22 |ify a me|nu name"|
|00003340| 20 6d 65 6e 75 2d 69 74 | 65 6d 73 20 22 6d 75 73 | menu-it|ems "mus|
|00003350| 74 20 73 70 65 63 69 66 | 79 20 73 6f 6d 65 20 6d |t specif|y some m|
|00003360| 65 6e 75 20 69 74 65 6d | 73 22 20 61 64 64 2d 6d |enu item|s" add-m|
|00003370| 65 6e 75 2d 69 74 65 6d | 2d 31 20 6e 69 6c 20 6d |enu-item|-1 nil m|
|00003380| 65 6e 75 2d 70 61 74 68 | 20 74 20 62 65 66 6f 72 |enu-path| t befor|
|00003390| 65 5d 20 37 20 28 23 24 | 20 2e 20 31 32 30 38 31 |e] 7 (#$| . 12081|
|000033a0| 29 5d 29 0a 28 62 79 74 | 65 2d 63 6f 64 65 20 22 |)]).(byt|e-code "|
|000033b0| c0 c1 21 84 08 00 c2 11 | c1 0b 42 13 c4 0d 21 88 |..!.....|..B...!.|
|000033c0| c6 c7 21 87 22 20 5b 62 | 6f 75 6e 64 70 20 70 75 |..!." [b|oundp pu|
|000033d0| 74 2d 62 75 66 66 65 72 | 2d 6e 61 6d 65 73 2d 69 |t-buffer|-names-i|
|000033e0| 6e 2d 66 69 6c 65 2d 6d | 65 6e 75 20 74 20 63 75 |n-file-m|enu t cu|
|000033f0| 72 72 65 6e 74 2d 6c 6f | 61 64 2d 6c 69 73 74 20 |rrent-lo|ad-list |
|00003400| 73 65 74 2d 6d 65 6e 75 | 62 61 72 20 64 65 66 61 |set-menu|bar defa|
|00003410| 75 6c 74 2d 6d 65 6e 75 | 62 61 72 20 70 72 6f 76 |ult-menu|bar prov|
|00003420| 69 64 65 20 6c 6d 65 6e | 75 5d 20 32 29 0a |ide lmen|u] 2). |
+--------+-------------------------+-------------------------+--------+--------+